NumberStyles Enum
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menentukan gaya yang diizinkan dalam argumen string numerik yang diteruskan ke Parse
metode dan TryParse
dari jenis numerik integral dan floating-point.
Enumerasi ini mendukung kombinasi bitwise dari nilai yang termasuk di dalamnya.
public enum class NumberStyles
[System.Flags]
public enum NumberStyles
[System.Flags]
[System.Serializable]
public enum NumberStyles
[System.Flags]
[System.Serializable]
[System.Runtime.InteropServices.ComVisible(true)]
public enum NumberStyles
[<System.Flags>]
type NumberStyles =
[<System.Flags>]
[<System.Serializable>]
type NumberStyles =
[<System.Flags>]
[<System.Serializable>]
[<System.Runtime.InteropServices.ComVisible(true)>]
type NumberStyles =
Public Enum NumberStyles
- Warisan
- Atribut
Bidang
AllowBinarySpecifier | 1024 | Menunjukkan bahwa string numerik mewakili nilai biner. Nilai biner yang valid mencakup digit numerik 0 dan 1. String yang diurai menggunakan gaya ini tidak menggunakan awalan; |
AllowCurrencySymbol | 256 | Menunjukkan bahwa string numerik dapat berisi simbol mata uang. Simbol mata uang yang valid ditentukan oleh CurrencySymbol properti . |
AllowDecimalPoint | 32 | Menunjukkan bahwa string numerik dapat memiliki titik desimal. NumberStyles Jika nilai menyertakan AllowCurrencySymbol bendera dan string yang diurai menyertakan simbol mata uang, karakter pemisah desimal ditentukan oleh CurrencyDecimalSeparator properti . Jika tidak, karakter pemisah desimal ditentukan oleh NumberDecimalSeparator properti . |
AllowExponent | 128 | Menunjukkan bahwa string numerik dapat berada dalam notasi eksponensial. Bendera AllowExponent memungkinkan string yang diurai berisi eksponen yang dimulai dengan karakter "E" atau "e" dan diikuti dengan tanda positif atau negatif opsional dan bilangan bulat. Dengan kata lain, ia berhasil mengurai string dalam bentuk nnnExx, nnnE+xx, dan nnnE-xx. Ini tidak memungkinkan pemisah desimal atau masuk significand atau mantissa; untuk memungkinkan elemen-elemen ini dalam string diurai, gunakan AllowDecimalPoint bendera dan AllowLeadingSign , atau gunakan gaya komposit yang menyertakan bendera individual ini. |
AllowHexSpecifier | 512 | Menunjukkan bahwa string numerik mewakili nilai heksadesimal. Nilai heksadesimal yang valid mencakup digit numerik 0-9 dan digit heksadesimal A-F dan a-f. String yang diurai menggunakan gaya ini tidak dapat diawali dengan "0x" atau "&h". String yang diurai dengan AllowHexSpecifier gaya akan selalu ditafsirkan sebagai nilai heksadesimal. Satu-satunya bendera yang dapat digabungkan dengan AllowHexSpecifier adalah AllowLeadingWhite dan AllowTrailingWhite. Enumerasi NumberStyles mencakup gaya komposit, HexNumber, yang terdiri dari ketiga bendera ini. |
AllowLeadingSign | 4 | Menunjukkan bahwa string numerik dapat memiliki tanda di depannya. Karakter tanda di depan yang valid ditentukan oleh PositiveSign properti dan NegativeSign . |
AllowLeadingWhite | 1 | Menunjukkan bahwa karakter spasi putih terkemuka dapat ada dalam string yang diurai. Karakter spasi putih yang valid memiliki nilai Unicode U+0009, U+000A, U+000B, U+000C, U+000D, dan U+0020. Perhatikan bahwa ini adalah subset karakter yang metodenya IsWhiteSpace(Char) mengembalikan |
AllowParentheses | 16 | Menunjukkan bahwa string numerik dapat memiliki satu pasang tanda kurung yang menyertakan angka. Tanda kurung menunjukkan bahwa string yang akan diurai mewakili angka negatif. |
AllowThousands | 64 | Menunjukkan bahwa string numerik dapat memiliki pemisah grup, seperti simbol yang memisahkan ratusan dari ribuan. NumberStyles Jika nilai menyertakan AllowCurrencySymbol bendera dan string yang akan diurai menyertakan simbol mata uang, karakter pemisah grup yang valid ditentukan oleh CurrencyGroupSeparator properti , dan jumlah digit di setiap grup ditentukan oleh CurrencyGroupSizes properti . Jika tidak, karakter pemisah grup yang valid ditentukan oleh NumberGroupSeparator properti , dan jumlah digit di setiap grup ditentukan oleh NumberGroupSizes properti . |
AllowTrailingSign | 8 | Menunjukkan bahwa string numerik dapat memiliki tanda berikutnya. Karakter tanda berikutnya yang valid ditentukan oleh PositiveSign properti dan NegativeSign . |
AllowTrailingWhite | 2 | Menunjukkan bahwa karakter spasi putih berikutnya dapat ada dalam string yang diurai. Karakter spasi putih yang valid memiliki nilai Unicode U+0009, U+000A, U+000B, U+000C, U+000D, dan U+0020. Perhatikan bahwa ini adalah subset karakter yang metodenya IsWhiteSpace(Char) mengembalikan |
Any | 511 | Menunjukkan bahwa semua gaya kecuali AllowHexSpecifier dan AllowBinarySpecifier digunakan. Ini adalah gaya angka komposit. |
BinaryNumber | 1027 | Menunjukkan bahwa AllowLeadingWhitegaya , AllowTrailingWhite, dan AllowBinarySpecifier digunakan. Ini adalah gaya angka komposit. |
Currency | 383 | Menunjukkan bahwa semua gaya kecuali AllowExponent dan AllowHexSpecifier digunakan. Ini adalah gaya angka komposit. |
Float | 167 | Menunjukkan bahwa AllowLeadingWhitegaya , AllowTrailingWhite, AllowLeadingSign, AllowDecimalPoint, dan AllowExponent digunakan. Ini adalah gaya angka komposit. |
HexNumber | 515 | Menunjukkan bahwa AllowLeadingWhitegaya , AllowTrailingWhite, dan AllowHexSpecifier digunakan. Ini adalah gaya angka komposit. |
Integer | 7 | Menunjukkan bahwa AllowLeadingWhitegaya , AllowTrailingWhite, dan AllowLeadingSign digunakan. Ini adalah gaya angka komposit. |
None | 0 | Menunjukkan bahwa tidak ada elemen gaya, seperti spasi putih di depan atau di belakang, ribuan pemisah, atau pemisah desimal, dapat hadir dalam string yang diurai. String yang akan diurai harus terdiri dari digit desimal integral saja. |
Number | 111 | Menunjukkan bahwa AllowLeadingWhitegaya , AllowTrailingWhite, AllowLeadingSign, AllowTrailingSign, AllowDecimalPointdan AllowThousands digunakan. Ini adalah gaya angka komposit. |
Contoh
Contoh ini menunjukkan cara mengurai string ke dalam bilangan bulat 32-bit dengan menggunakan berbagai NumberStyles
bendera.
using namespace System;
using namespace System::Text;
using namespace System::Globalization;
int main()
{
// Parse the string as a hex value and display the
// value as a decimal.
String^ numberString = "A";
int stringValue = Int32::Parse(numberString, NumberStyles::HexNumber);
Console::WriteLine("{0} in hex = {1} in decimal.",
numberString, stringValue);
// Parse the string, allowing a leading sign, and ignoring
// leading and trailing white spaces.
numberString = " -45 ";
stringValue =Int32::Parse(numberString, NumberStyles::AllowLeadingSign |
NumberStyles::AllowLeadingWhite | NumberStyles::AllowTrailingWhite);
Console::WriteLine("'{0}' parsed to an int is '{1}'.",
numberString, stringValue);
// Parse the string, allowing parentheses, and ignoring
// leading and trailing white spaces.
numberString = " (37) ";
stringValue = Int32::Parse(numberString, NumberStyles::AllowParentheses |
NumberStyles::AllowLeadingSign | NumberStyles::AllowLeadingWhite |
NumberStyles::AllowTrailingWhite);
Console::WriteLine("'{0}' parsed to an int is '{1}'.",
numberString, stringValue);
}
// This code produces the following output.
//
// A in hex = 10 in decimal.
// ' -45 ' parsed to an int is '-45'.
// ' (37) ' parsed to an int is '-37'.
using System;
using System.Text;
using System.Globalization;
public sealed class App
{
static void Main()
{
// Parse the string as a hex value and display the value as a decimal.
String num = "A";
int val = int.Parse(num, NumberStyles.HexNumber);
Console.WriteLine("{0} in hex = {1} in decimal.", num, val);
// Parse the string, allowing a leading sign, and ignoring leading and trailing white spaces.
num = " -45 ";
val = int.Parse(num, NumberStyles.AllowLeadingSign |
NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);
Console.WriteLine("'{0}' parsed to an int is '{1}'.", num, val);
// Parse the string, allowing parentheses, and ignoring leading and trailing white spaces.
num = " (37) ";
val = int.Parse(num, NumberStyles.AllowParentheses | NumberStyles.AllowLeadingSign | NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite);
Console.WriteLine("'{0}' parsed to an int is '{1}'.", num, val);
}
}
// This code produces the following output.
//
// A in hex = 10 in decimal.
// ' -45 ' parsed to an int is '-45'.
// ' (37) ' parsed to an int is '-37'.
Imports System.Globalization
Imports System.Text
Public Module Example
Public Sub Main()
' Parse the string as a hex value and display the value as a decimal.
Dim num As String = "A"
Dim val As Integer = Int32.Parse(num, NumberStyles.HexNumber)
Console.WriteLine("{0} in hex = {1} in decimal.", num, val)
' Parse the string, allowing a leading sign, and ignoring leading and trailing white spaces.
num = " -45 "
val = Integer.Parse(num, NumberStyles.AllowLeadingSign Or
NumberStyles.AllowLeadingWhite Or
NumberStyles.AllowTrailingWhite)
Console.WriteLine("'{0}' parsed to an integer is '{1}'.", num, val)
' Parse the string, allowing parentheses, and ignoring leading and trailing white spaces.
num = " (37) "
val = Integer.Parse(num, NumberStyles.AllowParentheses Or
NumberStyles.AllowLeadingSign Or
NumberStyles.AllowLeadingWhite Or
NumberStyles.AllowTrailingWhite)
Console.WriteLine("'{0}' parsed to an integer is '{1}'.", num, val)
End Sub
End Module
' The example displays the following output:
' A in hex = 10 in decimal.
' ' -45 ' parsed to an int is '-45'.
' ' (37) ' parsed to an int is '-37'.
Keterangan
Enumerasi NumberStyles terdiri dari dua jenis nilai enumerasi yang digunakan untuk mengurai representasi string dari nilai numerik:
- Bendera bidang individual, yang menentukan elemen gaya tertentu (seperti spasi kosong dan pemisah grup) yang dapat ada dalam string yang diurai.
- Gaya angka komposit, yang terdiri dari beberapa bendera bidang yang menentukan elemen gaya yang dapat ada dalam string yang diurai.
Kecuali untuk AllowHexSpecifier
, masing-masing bendera bidang dalam NumberStyles enumerasi menentukan elemen gaya yang digunakan saat mengurai representasi string dari angka desimal.
None
menunjukkan bahwa hanya digit yang dapat ada dalam string yang diurai. Bendera bidang individual yang tersisa menentukan elemen gaya yang mungkin, tetapi tidak harus, ada dalam representasi string dari angka desimal agar operasi penguraian berhasil. Sebaliknya, AllowHexSpecifier
bendera menunjukkan bahwa string yang akan diurai selalu ditafsirkan sebagai nilai heksadesimal. Satu-satunya bendera bidang individual yang dapat digunakan adalah AllowHexSpecifier
AllowLeadingWhite
dan AllowTrailingWhite
. Enumerasi NumberStyles mencakup gaya angka komposit, HexNumber
, yang terdiri dari ketiga bendera.
Simbol (seperti simbol mata uang, pemisah grup, pemisah desimal, dan tanda positif dan negatif) yang dapat muncul dalam string yang akan diurai ditentukan oleh anggota System.Globalization.NumberFormatInfo objek yang diteruskan baik secara implisit atau eksplisit ke Parse
metode . Tabel anggota dalam topik ini menyediakan deskripsi setiap bendera individu dan menunjukkan hubungannya dengan NumberFormatInfo properti.
Tabel berikut mencantumkan gaya angka komposit dan menunjukkan bendera bidang individual mana yang disertakan. "1" dalam sel menunjukkan bahwa gaya angka komposit menyertakan gaya angka individual dalam baris tersebut. "0" menunjukkan bahwa gaya nomor komposit tidak menyertakan gaya angka individual.
Apa pun | Mata uang | Mengambang | Bilangan bulat | Telepon | HexNumber | BinaryNumber | |
---|---|---|---|---|---|---|---|
AllowBinarySpecifier (0x0400) | 0 | 0 | 0 | 0 | 0 | 0 | 1 |
AllowHexSpecifier (0x0200) | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
AllowCurrencySymbol (0x0100) | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
AllowExponent (0x0080) | 1 | 0 | 1 | 0 | 0 | 0 | 0 |
AllowThousands (0x0040) | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
AllowDecimalPoint (0x0020) | 1 | 1 | 1 | 0 | 1 | 0 | 0 |
AllowParentheses (0x0010) | 1 | 1 | 0 | 0 | 0 | 0 | 0 |
AllowTrailingSign (0x0008) | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
AllowLeadingSign (0x0004) | 1 | 1 | 1 | 1 | 1 | 0 | 0 |
AllowTrailingWhite (0x0002) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
AllowLeadingWhite (0x0001) | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
(0x1ff) | (0x17f) | (0x0a7) | (0x007) | (0x06f) | (0x203) | (0x403) |