Int16.Parse Metode
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.
Mengonversi representasi string dari angka ke bilangan bulat bertanda 16-bit yang setara.
Overload
Parse(String, NumberStyles, IFormatProvider) |
Mengonversi representasi string angka dalam gaya tertentu dan format khusus budaya ke bilangan bulat bertanda 16-bit yang setara. |
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Mengonversi representasi rentang angka dalam gaya tertentu dan format khusus budaya ke bilangan bulat bertanda 16-bit yang setara. |
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider) |
Menguraikan rentang karakter UTF-8 ke dalam nilai. |
Parse(String, IFormatProvider) |
Mengonversi representasi string angka dalam format khusus budaya tertentu ke bilangan bulat bertanda 16-bit yang setara. |
Parse(String) |
Mengonversi representasi string dari angka ke bilangan bulat bertanda tangan 16-bit yang setara. |
Parse(ReadOnlySpan<Char>, IFormatProvider) |
Mengurai rentang karakter ke dalam nilai. |
Parse(ReadOnlySpan<Byte>, IFormatProvider) |
Menguraikan rentang karakter UTF-8 ke dalam nilai. |
Parse(String, NumberStyles) |
Mengonversi representasi string angka dalam gaya tertentu ke bilangan bulat bertanda tangan 16-bit yang setara. |
Parse(String, NumberStyles, IFormatProvider)
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
Mengonversi representasi string angka dalam gaya tertentu dan format khusus budaya ke bilangan bulat bertanda 16-bit yang setara.
public:
static short Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public:
static short Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider) = System::Numerics::INumberBase<short>::Parse;
public static short Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
public static short Parse (string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> int16
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As Short
Parameter
- s
- String
String yang berisi angka untuk dikonversi.
- style
- NumberStyles
Kombinasi bitwise dari nilai enumerasi yang menunjukkan elemen gaya yang dapat ada di s
. Nilai umum yang akan ditentukan adalah Integer.
- provider
- IFormatProvider
Yang IFormatProvider memasok informasi pemformatan khusus budaya tentang s
.
Mengembalikan
Bilangan bulat bertanda 16-bit yang setara dengan angka yang ditentukan dalam s
.
Penerapan
Pengecualian
s
adalah null
.
style
bukan nilai NumberStyles .
-atau-
style
bukan kombinasi nilai AllowHexSpecifier dan HexNumber .
s
tidak dalam format yang sesuai dengan style
.
s
mewakili angka yang kurang dari Int16.MinValue atau lebih besar dari Int16.MaxValue.
-atau-
s
termasuk digit pecahan bukan nol.
Contoh
Contoh berikut menggunakan berbagai style
parameter dan provider
untuk mengurai representasi Int16 string nilai.
String^ value;
Int16 number;
NumberStyles style;
// Parse string using "." as the thousands separator
// and " " as the decimal separator.
value = "19 694,00";
style = NumberStyles::AllowDecimalPoint | NumberStyles::AllowThousands;
CultureInfo^ provider = gcnew CultureInfo("fr-FR");
number = Int16::Parse(value, style, provider);
Console::WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// '19 694,00' converted to 19694.
try
{
number = Int16::Parse(value, style, CultureInfo::InvariantCulture);
Console::WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException ^e)
{
Console::WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
// Unable to parse '19 694,00'.
// Parse string using "$" as the currency symbol for en_GB and
// en-US cultures.
value = "$6,032.00";
style = NumberStyles::Number | NumberStyles::AllowCurrencySymbol;
provider = gcnew CultureInfo("en-GB");
try
{
number = Int16::Parse(value, style, CultureInfo::InvariantCulture);
Console::WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException ^e)
{
Console::WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
// Unable to parse '$6,032.00'.
provider = gcnew CultureInfo("en-US");
number = Int16::Parse(value, style, provider);
Console::WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// '$6,032.00' converted to 6032.
string value;
short number;
NumberStyles style;
CultureInfo provider;
// Parse string using "." as the thousands separator
// and " " as the decimal separator.
value = "19 694,00";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands;
provider = new CultureInfo("fr-FR");
number = Int16.Parse(value, style, provider);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// '19 694,00' converted to 19694.
try
{
number = Int16.Parse(value, style, CultureInfo.InvariantCulture);
Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
// Unable to parse '19 694,00'.
// Parse string using "$" as the currency symbol for en_GB and
// en-US cultures.
value = "$6,032.00";
style = NumberStyles.Number | NumberStyles.AllowCurrencySymbol;
provider = new CultureInfo("en-GB");
try
{
number = Int16.Parse(value, style, CultureInfo.InvariantCulture);
Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
// Unable to parse '$6,032.00'.
provider = new CultureInfo("en-US");
number = Int16.Parse(value, style, provider);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// '$6,032.00' converted to 6032.
// Parse string using "." as the thousands separator
// and " " as the decimal separator.
let value = "19 694,00"
let style = NumberStyles.AllowDecimalPoint ||| NumberStyles.AllowThousands
let provider = CultureInfo "fr-FR"
let number = Int16.Parse(value, style, provider)
printfn $"'{value}' converted to {number}."
// Displays:
// '19 694,00' converted to 19694.
try
let number = Int16.Parse(value, style, CultureInfo.InvariantCulture)
printfn $"'{value}' converted to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
// Displays:
// Unable to parse '19 694,00'.
// Parse string using "$" as the currency symbol for en_GB and
// en-US cultures.
let value = "$6,032.00"
let style = NumberStyles.Number ||| NumberStyles.AllowCurrencySymbol
try
let number = Int16.Parse(value, style, CultureInfo.InvariantCulture)
printfn $"'{value}' converted to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
// Displays:
// Unable to parse '$6,032.00'.
let provider = CultureInfo "en-US"
let number = Int16.Parse(value, style, provider)
printfn $"'{value}' converted to {number}."
// Displays:
// '$6,032.00' converted to 6032.
Dim value As String
Dim number As Short
Dim style As NumberStyles
Dim provider As CultureInfo
' Parse string using "." as the thousands separator
' and " " as the decimal separator.
value = "19 694,00"
style = NumberStyles.AllowDecimalPoint Or NumberStyles.AllowThousands
provider = New CultureInfo("fr-FR")
number = Int16.Parse(value, style, provider)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
' '19 694,00' converted to 19694.
Try
number = Int16.Parse(value, style, CultureInfo.InvariantCulture)
Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays:
' Unable to parse '19 694,00'.
' Parse string using "$" as the currency symbol for en_GB and
' en-US cultures.
value = "$6,032.00"
style = NumberStyles.Number Or NumberStyles.AllowCurrencySymbol
provider = New CultureInfo("en-GB")
Try
number = Int16.Parse(value, style, CultureInfo.InvariantCulture)
Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Displays:
' Unable to parse '$6,032.00'.
provider = New CultureInfo("en-US")
number = Int16.Parse(value, style, provider)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
' '$6,032.00' converted to 6032.
Keterangan
Parameter style
menentukan elemen gaya (seperti spasi kosong atau tanda positif) yang diizinkan dalam s
parameter agar operasi penguraian berhasil. Ini harus berupa kombinasi bendera bit dari NumberStyles enumerasi. Bergantung pada nilai style
, s
parameter dapat mencakup elemen berikut:
[ws] [$] [tanda] [digits,]digits[.fractional_digits][e[sign]digits][ws]
Atau, jika style
mencakup AllowHexSpecifier:
[ws]hexdigits[ws]
Elemen dalam tanda kurung siku ([ dan ]) adalah opsional. Tabel berikut ini menjelaskan setiap elemen.
Elemen | Deskripsi |
---|---|
Ws | Spasi kosong opsional. Spasi kosong dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingWhite bendera, atau di akhir s jika style menyertakan NumberStyles.AllowTrailingWhite bendera. |
$ | Simbol mata uang khusus budaya. Posisinya dalam string didefinisikan oleh NumberFormatInfo.CurrencyPositivePattern properti dan NumberFormatInfo.CurrencyNegativePattern dari budaya saat ini. Simbol mata uang budaya saat ini dapat muncul jika s style menyertakan NumberStyles.AllowCurrencySymbol bendera . |
sign | Tanda opsional. Tanda dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingSign bendera, dan dapat muncul di akhir s jika style menyertakan NumberStyles.AllowTrailingSign bendera. Tanda kurung dapat digunakan s untuk menunjukkan nilai negatif jika style menyertakan NumberStyles.AllowParentheses bendera . |
Digit | Urutan digit dari 0 hingga 9. |
, | Simbol pemisah ribuan khusus budaya. Simbol pemisah ribuan budaya saat ini dapat muncul jika s style menyertakan NumberStyles.AllowThousands bendera . |
. | Simbol titik desimal khusus budaya. Simbol titik desimal budaya saat ini dapat muncul jika s style menyertakan NumberStyles.AllowDecimalPoint bendera . |
fractional_digits | Urutan 0 digit. Digit pecahan dapat muncul jika s style menyertakan NumberStyles.AllowDecimalPoint bendera. Jika ada digit selain 0 yang muncul di fractional_digits, metode akan menampilkan OverflowException. |
e | Karakter 'e' atau 'E', yang menunjukkan bahwa s dapat diwakili dalam notasi eksponensial. Parameter s dapat mewakili angka dalam notasi eksponensial jika style menyertakan NumberStyles.AllowExponent bendera . Namun, s parameter harus mewakili angka dalam rentang Int16 jenis data dan tidak dapat memiliki komponen pecahan bukan nol. |
hexdigits | Urutan digit heksadesimal dari 0 hingga f, atau 0 hingga F. |
Catatan
Setiap karakter NUL yang mengakhiri (U+0000) di s
diabaikan oleh operasi penguraian, terlepas dari style
nilai argumen.
String dengan digit saja (yang sesuai dengan NumberStyles.None gaya) selalu berhasil diurai. Sebagian besar elemen kontrol anggota yang tersisa NumberStyles yang mungkin tetapi tidak diperlukan untuk hadir dalam string input ini. Tabel berikut menunjukkan bagaimana anggota individu NumberStyles memengaruhi elemen yang mungkin ada di s
.
Nilai NumberStyles non-komposit | Elemen yang diizinkan dalam s selain digit |
---|---|
NumberStyles.None | Digit desimal saja. |
NumberStyles.AllowDecimalPoint | Elemen . dan fractional_digits . Namun, fractional_digits harus terdiri dari hanya satu atau lebih 0 digit atau yang OverflowException dilemparkan. |
NumberStyles.AllowExponent | Parameter s juga dapat menggunakan notasi eksponensial. |
NumberStyles.AllowLeadingWhite | Elemen ws di awal s . |
NumberStyles.AllowTrailingWhite | Elemen ws di akhir s . |
NumberStyles.AllowLeadingSign | Tanda dapat muncul sebelum digit. |
NumberStyles.AllowTrailingSign | Tanda dapat muncul setelah digit. |
NumberStyles.AllowParentheses | Elemen tanda dalam bentuk tanda kurung yang menyertakan nilai numerik. |
NumberStyles.AllowThousands | Elemen , . |
NumberStyles.AllowCurrencySymbol | Elemen .$ |
NumberStyles.AllowHexSpecifier Jika bendera digunakan, s
harus berupa representasi string dari nilai heksadesimal tanpa awalan. Misalnya, "9AF3" berhasil diurai, tetapi "0x9AF3" tidak.. Satu-satunya bendera lain yang dapat ada di style
adalah NumberStyles.AllowLeadingWhite dan NumberStyles.AllowTrailingWhite. NumberStyles(Enumerasi memiliki gaya angka komposit, NumberStyles.HexNumber, yang mencakup kedua bendera spasi putih.)
Parameter provider
adalah IFormatProvider implementasi yang metodenya GetFormat mendapatkan NumberFormatInfo objek . Objek menyediakan NumberFormatInfo informasi khusus budaya tentang format s
. Jika provider
adalah null
, NumberFormatInfo objek untuk budaya saat ini digunakan.
Lihat juga
Berlaku untuk
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
Mengonversi representasi rentang angka dalam gaya tertentu dan format khusus budaya ke bilangan bulat bertanda 16-bit yang setara.
public static short Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
public static short Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = default);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> int16
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As Short
Parameter
- s
- ReadOnlySpan<Char>
Rentang yang berisi karakter yang mewakili angka yang akan dikonversi.
- style
- NumberStyles
Kombinasi bitwise dari nilai enumerasi yang menunjukkan elemen gaya yang dapat ada di s
. Nilai umum yang akan ditentukan adalah Integer.
- provider
- IFormatProvider
Yang IFormatProvider memasok informasi pemformatan khusus budaya tentang s
.
Mengembalikan
Bilangan bulat bertanda 16-bit yang setara dengan angka yang ditentukan dalam s
.
Penerapan
Berlaku untuk
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
Menguraikan rentang karakter UTF-8 ke dalam nilai.
public static short Parse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider -> int16
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As Short
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Rentang karakter UTF-8 untuk diurai.
- style
- NumberStyles
Kombinasi bitwise gaya angka yang dapat ada di utf8Text
.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang utf8Text
.
Mengembalikan
Hasil penguraian utf8Text
.
Penerapan
Berlaku untuk
Parse(String, IFormatProvider)
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
Mengonversi representasi string angka dalam format khusus budaya tertentu ke bilangan bulat bertanda 16-bit yang setara.
public:
static short Parse(System::String ^ s, IFormatProvider ^ provider);
public:
static short Parse(System::String ^ s, IFormatProvider ^ provider) = IParsable<short>::Parse;
public static short Parse (string s, IFormatProvider provider);
public static short Parse (string s, IFormatProvider? provider);
static member Parse : string * IFormatProvider -> int16
Public Shared Function Parse (s As String, provider As IFormatProvider) As Short
Parameter
- s
- String
String yang berisi angka untuk dikonversi.
- provider
- IFormatProvider
Yang IFormatProvider memasok informasi pemformatan khusus budaya tentang s
.
Mengembalikan
Bilangan bulat bertanda 16-bit yang setara dengan angka yang ditentukan dalam s
.
Penerapan
Pengecualian
s
adalah null
.
s
tidak dalam format yang benar.
s
mewakili angka yang kurang dari Int16.MinValue atau lebih besar dari Int16.MaxValue.
Contoh
Contoh berikut menguraikan representasi Int16 string nilai dengan Int16.Parse(String, IFormatProvider) metode .
String^ stringToConvert;
Int16 number;
stringToConvert = " 214 ";
try
{
number = Int16::Parse(stringToConvert, CultureInfo::InvariantCulture);
Console::WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException ^e)
{
Console::WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException ^e)
{
Console::WriteLine("'{0'} is out of range of the Int16 data type.",
stringToConvert);
}
stringToConvert = " + 214";
try
{
number = Int16::Parse(stringToConvert, CultureInfo::InvariantCulture);
Console::WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException ^e)
{
Console::WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException ^e)
{
Console::WriteLine("'{0'} is out of range of the Int16 data type.",
stringToConvert);
}
stringToConvert = " +214 ";
try
{
number = Int16::Parse(stringToConvert, CultureInfo::InvariantCulture);
Console::WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException ^e)
{
Console::WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException ^e)
{
Console::WriteLine("'{0'} is out of range of the Int16 data type.",
stringToConvert);
}
// The example displays the following output to the console:
// Converted ' 214 ' to 214.
// Unable to parse ' + 214'.
// Converted ' +214 ' to 214.
string stringToConvert;
short number;
stringToConvert = " 214 ";
try
{
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture);
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException)
{
Console.WriteLine("'{0'} is out of range of the Int16 data type.",
stringToConvert);
}
stringToConvert = " + 214";
try
{
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture);
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException)
{
Console.WriteLine("'{0'} is out of range of the Int16 data type.",
stringToConvert);
}
stringToConvert = " +214 ";
try
{
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture);
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException)
{
Console.WriteLine("'{0'} is out of range of the Int16 data type.",
stringToConvert);
}
// The example displays the following output to the console:
// Converted ' 214 ' to 214.
// Unable to parse ' + 214'.
// Converted ' +214 ' to 214.
let stringToConvert = " 214 "
try
let number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
printfn $"Converted '{stringToConvert}' to {number}."
with
| :? FormatException ->
printfn $"Unable to parse '{stringToConvert}'."
| :? OverflowException ->
printfn $"'{stringToConvert}' is out of range of the Int16 data type."
let stringToConvert = " + 214"
try
let number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
printfn $"Converted '{stringToConvert}' to {number}."
with
| :? FormatException ->
printfn $"Unable to parse '{stringToConvert}'."
| :? OverflowException ->
printfn $"'{stringToConvert}' is out of range of the Int16 data type."
let stringToConvert = " +214 "
try
let number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
printfn $"Converted '{stringToConvert}' to {number}."
with
| :? FormatException ->
printfn $"Unable to parse '{stringToConvert}'."
| :? OverflowException ->
printfn $"'{stringToConvert}' is out of range of the Int16 data type."
// The example displays the following output to the console:
// Converted ' 214 ' to 214.
// Unable to parse ' + 214'.
// Converted ' +214 ' to 214.
Dim stringToConvert As String
Dim number As Short
stringToConvert = " 214 "
Try
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", stringToConvert)
Catch e As OverflowException
Console.WriteLine("'{0'} is out of range of the Int16 data type.", _
stringToConvert)
End Try
stringToConvert = " + 214"
Try
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", stringToConvert)
Catch e As OverflowException
Console.WriteLine("'{0'} is out of range of the Int16 data type.", _
stringToConvert)
End Try
stringToConvert = " +214 "
Try
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", stringToConvert)
Catch e As OverflowException
Console.WriteLine("'{0'} is out of range of the Int16 data type.", _
stringToConvert)
End Try
' The example displays the following output to the console:
' Converted ' 214 ' to 214.
' Unable to parse ' + 214'.
' Converted ' +214 ' to 214.
Keterangan
Parameter s
berisi sejumlah formulir:
[ws] [sign]digits[ws]
Elemen dalam tanda kurung siku ([ dan ]) adalah opsional. Tabel berikut ini menjelaskan setiap elemen.
Elemen | Deskripsi |
---|---|
Ws | Spasi kosong opsional. |
sign | Tanda opsional. |
Digit | Urutan digit mulai dari 0 hingga 9. |
Parameter s
ditafsirkan menggunakan NumberStyles.Integer gaya . Selain digit desimal, hanya spasi di depan dan belakang bersama dengan tanda di depan yang diizinkan di s
. Untuk secara eksplisit menentukan elemen gaya bersama dengan informasi pemformatan khusus budaya yang dapat ada di s
, gunakan Int16.Parse(String, NumberStyles, IFormatProvider) metode .
Parameter provider
adalah IFormatProvider implementasi yang mendapatkan NumberFormatInfo objek . NumberFormatInfo memberikan informasi khusus budaya tentang format s
. Jika provider
adalah null
, NumberFormatInfo untuk budaya saat ini digunakan.
Lihat juga
Berlaku untuk
Parse(String)
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
Mengonversi representasi string dari angka ke bilangan bulat bertanda tangan 16-bit yang setara.
public:
static short Parse(System::String ^ s);
public static short Parse (string s);
static member Parse : string -> int16
Public Shared Function Parse (s As String) As Short
Parameter
- s
- String
String yang berisi angka untuk dikonversi.
Mengembalikan
Bilangan bulat bertanda tangan 16-bit yang setara dengan angka yang terkandung dalam s
.
Pengecualian
s
adalah null
.
s
tidak dalam format yang benar.
s
mewakili angka yang kurang dari Int16.MinValue atau lebih besar dari Int16.MaxValue.
Contoh
Contoh berikut menunjukkan cara mengonversi nilai string menjadi nilai bilangan bulat bertanda tangan 16-bit menggunakan Int16.Parse(String) metode . Nilai bilangan bulat yang dihasilkan kemudian ditampilkan ke konsol.
String^ value;
Int16 number;
value = " 12603 ";
try
{
number = Int16::Parse(value);
Console::WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException ^e)
{
Console::WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
value);
}
value = " 16,054";
try
{
number = Int16::Parse(value);
Console::WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException ^e)
{
Console::WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
value);
}
value = " -17264";
try
{
number = Int16::Parse(value);
Console::WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException ^e)
{
Console::WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
value);
}
// The example displays the following output to the console:
// Converted ' 12603 ' to 12603.
// Unable to convert ' 16,054' to a 16-bit signed integer.
// Converted ' -17264' to -17264.
string value;
short number;
value = " 12603 ";
try
{
number = Int16.Parse(value);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
value);
}
value = " 16,054";
try
{
number = Int16.Parse(value);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
value);
}
value = " -17264";
try
{
number = Int16.Parse(value);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
value);
}
// The example displays the following output to the console:
// Converted ' 12603 ' to 12603.
// Unable to convert ' 16,054' to a 16-bit signed integer.
// Converted ' -17264' to -17264.
let value = " 12603 "
try
let number = Int16.Parse value
printfn $"Converted '{value}' to {number}."
with :? FormatException ->
printfn $"Unable to convert '{value}' to a 16-bit signed integer."
let value = " 16,054"
try
let number = Int16.Parse value
printfn $"Converted '{value}' to {number}."
with :? FormatException ->
printfn "Unable to convert '{value}' to a 16-bit signed integer."
let value = " -17264"
try
let number = Int16.Parse value
printfn $"Converted '{value}' to {number}."
with :? FormatException ->
printfn "Unable to convert '{value}' to a 16-bit signed integer."
// The example displays the following output to the console:
// Converted ' 12603 ' to 12603.
// Unable to convert ' 16,054' to a 16-bit signed integer.
// Converted ' -17264' to -17264.
Dim value As String
Dim number As Short
value = " 12603 "
Try
number = Short.Parse(value)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.", _
value)
End Try
value = " 16,054"
Try
number = Short.Parse(value)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.", _
value)
End Try
value = " -17264"
Try
number = Short.Parse(value)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.", _
value)
End Try
' The example displays the following output to the console:
' Converted ' 12603 ' to 12603.
' Unable to convert ' 16,054' to a 16-bit signed integer.
' Converted ' -17264' to -17264.
Keterangan
Parameter s
berisi sejumlah formulir:
[ws] [sign]digits[ws]
Elemen dalam tanda kurung siku ([ dan ]) adalah opsional. Tabel berikut ini menjelaskan setiap elemen.
Elemen | Deskripsi |
---|---|
Ws | Spasi kosong opsional. |
sign | Tanda opsional. |
Digit | Urutan digit mulai dari 0 hingga 9. |
Parameter s
ditafsirkan menggunakan NumberStyles.Integer gaya . Selain digit desimal nilai bilangan bulat, hanya spasi di depan dan di belakang bersama dengan tanda di depan yang diizinkan. Untuk secara eksplisit menentukan elemen gaya yang dapat ada di s
, gunakan Int16.Parse(String, NumberStyles) metode atau Parse .
Parameter s
diurai menggunakan informasi pemformatan dalam objek yang diinisialisasi NumberFormatInfo untuk budaya sistem saat ini. Untuk informasi selengkapnya, lihat CurrentInfo. Untuk mengurai string menggunakan informasi pemformatan dari beberapa budaya lain, gunakan Int16.Parse(String, IFormatProvider) atau Int16.Parse(String, NumberStyles, IFormatProvider) metode .
Lihat juga
Berlaku untuk
Parse(ReadOnlySpan<Char>, IFormatProvider)
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
Mengurai rentang karakter ke dalam nilai.
public:
static short Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<short>::Parse;
public static short Parse (ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> int16
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As Short
Parameter
- s
- ReadOnlySpan<Char>
Rentang karakter untuk diurai.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang s
.
Mengembalikan
Hasil penguraian s
.
Penerapan
Berlaku untuk
Parse(ReadOnlySpan<Byte>, IFormatProvider)
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
Menguraikan rentang karakter UTF-8 ke dalam nilai.
public:
static short Parse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider) = IUtf8SpanParsable<short>::Parse;
public static short Parse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);
static member Parse : ReadOnlySpan<byte> * IFormatProvider -> int16
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider) As Short
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Rentang karakter UTF-8 untuk diurai.
- provider
- IFormatProvider
Objek yang menyediakan informasi pemformatan khusus budaya tentang utf8Text
.
Mengembalikan
Hasil penguraian utf8Text
.
Penerapan
Berlaku untuk
Parse(String, NumberStyles)
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
- Sumber:
- Int16.cs
Mengonversi representasi string angka dalam gaya tertentu ke bilangan bulat bertanda 16-bit yang setara.
public:
static short Parse(System::String ^ s, System::Globalization::NumberStyles style);
public static short Parse (string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> int16
Public Shared Function Parse (s As String, style As NumberStyles) As Short
Parameter
- s
- String
String yang berisi angka untuk dikonversi.
- style
- NumberStyles
Kombinasi bitwise dari nilai enumerasi yang menunjukkan elemen gaya yang dapat ada di s
. Nilai umum yang akan ditentukan adalah Integer.
Mengembalikan
Bilangan bulat bertanda 16-bit yang setara dengan angka yang ditentukan dalam s
.
Pengecualian
s
adalah null
.
style
bukan nilai NumberStyles .
-atau-
style
bukan kombinasi nilai AllowHexSpecifier dan HexNumber .
s
tidak dalam format yang sesuai dengan style
.
s
mewakili angka yang kurang dari Int16.MinValue atau lebih besar dari Int16.MaxValue.
-atau-
s
termasuk digit pecahan bukan nol.
Contoh
Contoh berikut menggunakan Int16.Parse(String, NumberStyles) metode untuk mengurai representasi Int16 string nilai menggunakan budaya en-US.
using namespace System;
using namespace System::Globalization;
ref class ParseSample
{
public:
static void Main()
{
String^ value;
NumberStyles style;
// Parse a number with a thousands separator (throws an exception).
value = "14,644";
style = NumberStyles::None;
ParseSample::ParseToInt16(value, style);
style = NumberStyles::AllowThousands;
ParseToInt16(value, style);
// Parse a number with a thousands separator and decimal point.
value = "14,644.00";
style = NumberStyles::AllowThousands | NumberStyles::Integer |
NumberStyles::AllowDecimalPoint;
ParseToInt16(value, style);
// Parse a number with a fractional component (throws an exception).
value = "14,644.001";
ParseToInt16(value, style);
// Parse a number in exponential notation.
value = "145E02";
style = style | NumberStyles::AllowExponent;
ParseToInt16(value, style);
// Parse a number in exponential notation with a positive sign.
value = "145E+02";
ParseToInt16(value, style);
// Parse a number in exponential notation with a negative sign
// (throws an exception).
value = "145E-02";
ParseToInt16(value, style);
}
private:
static void ParseToInt16(String^ value, NumberStyles style)
{
try
{
Int16 number = Int16::Parse(value, style);
Console::WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException ^e)
{
Console::WriteLine("Unable to parse '{0}' with style {1}.", value,
style);
}
catch (OverflowException ^e)
{
Console::WriteLine("'{0}' is out of range of the Int16 type.", value);
}
}
};
int main()
{
ParseSample::Main();
Console::ReadLine();
return 0;
}
// The example displays the following output:
// Unable to parse '14,644' with style None.
// Converted '14,644' to 14644.
// Converted '14,644.00' to 14644.
// '14,644.001' is out of range of the Int16 type.
// Converted '145E02' to 14500.
// Converted '145E+02' to 14500.
// '145E-02' is out of range of the Int16 type.
using System;
using System.Globalization;
public class ParseSample
{
public static void Main()
{
string value;
NumberStyles style;
// Parse a number with a thousands separator (throws an exception).
value = "14,644";
style = NumberStyles.None;
ParseToInt16(value, style);
style = NumberStyles.AllowThousands;
ParseToInt16(value, style);
// Parse a number with a thousands separator and decimal point.
value = "14,644.00";
style = NumberStyles.AllowThousands | NumberStyles.Integer |
NumberStyles.AllowDecimalPoint;
ParseToInt16(value, style);
// Parse a number with a fractional component (throws an exception).
value = "14,644.001";
ParseToInt16(value, style);
// Parse a number in exponential notation.
value = "145E02";
style = style | NumberStyles.AllowExponent;
ParseToInt16(value, style);
// Parse a number in exponential notation with a positive sign.
value = "145E+02";
ParseToInt16(value, style);
// Parse a number in exponential notation with a negative sign
// (throws an exception).
value = "145E-02";
ParseToInt16(value, style);
}
private static void ParseToInt16(string value, NumberStyles style)
{
try
{
short number = Int16.Parse(value, style);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}' with style {1}.", value,
style.ToString());
}
catch (OverflowException)
{
Console.WriteLine("'{0}' is out of range of the Int16 type.", value);
}
}
}
// The example displays the following output to the console:
// Unable to parse '14,644' with style None.
// Converted '14,644' to 14644.
// Converted '14,644.00' to 14644.
// '14,644.001' is out of range of the Int16 type.
// Converted '145E02' to 14500.
// Converted '145E+02' to 14500.
// '145E-02' is out of range of the Int16 type.
open System
open System.Globalization
let parseToInt16 (value: string) (style: NumberStyles) =
try
let number = Int16.Parse(value, style)
printfn $"Converted '{value}' to {number}."
with
| :? FormatException ->
printfn $"Unable to parse '{value}' with style {style}."
| :? OverflowException ->
printfn $"'{value}' is out of range of the Int16 type."
[<EntryPoint>]
let main _ =
// Parse a number with a thousands separator (throws an exception).
let value = "14,644"
let style = NumberStyles.None
parseToInt16 value style
let style = NumberStyles.AllowThousands
parseToInt16 value style
// Parse a number with a thousands separator and decimal point.
let value = "14,644.00"
let style = NumberStyles.AllowThousands ||| NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
parseToInt16 value style
// Parse a number with a fractional component (throws an exception).
let value = "14,644.001"
parseToInt16 value style
// Parse a number in exponential notation.
let value = "145E02"
let style = style ||| NumberStyles.AllowExponent
parseToInt16 value style
// Parse a number in exponential notation with a positive sign.
let value = "145E+02"
parseToInt16 value style
// Parse a number in exponential notation with a negative sign
// (throws an exception).
let value = "145E-02"
parseToInt16 value style
0
// The example displays the following output to the console:
// Unable to parse '14,644' with style None.
// Converted '14,644' to 14644.
// Converted '14,644.00' to 14644.
// '14,644.001' is out of range of the Int16 type.
// Converted '145E02' to 14500.
// Converted '145E+02' to 14500.
// '145E-02' is out of range of the Int16 type.
Imports System.Globalization
Module ParseSample
Public Sub Main()
Dim value As String
Dim style As NumberStyles
' Parse a number with a thousands separator (throws an exception).
value = "14,644"
style = NumberStyles.None
ParseToInt16(value, style)
style = NumberStyles.AllowThousands
ParseToInt16(value, style)
' Parse a number with a thousands separator and decimal point.
value = "14,644.00"
style = NumberStyles.AllowThousands Or NumberStyles.Integer Or _
NumberStyles.AllowDecimalPoint
ParseToInt16(value, style)
' Parse a number with a fractional component (throws an exception).
value = "14,644.001"
ParseToInt16(value, style)
' Parse a number in exponential notation.
value = "145E02"
style = style Or NumberStyles.AllowExponent
ParseToInt16(value, style)
' Parse a number in exponential notation with a positive sign.
value = "145E+02"
ParseToInt16(value, style)
' Parse a number in exponential notation with a negative sign
' (throws an exception).
value = "145E-02"
ParseToInt16(value, style)
End Sub
Private Sub ParseToInt16(value As String, style As NumberStyles)
Try
Dim number As Short = Int16.Parse(value, style)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}' with style {1}.", value, _
style.ToString())
Catch e As OverflowException
Console.WriteLine("'{0}' is out of range of the Int16 type.", value)
End Try
End Sub
End Module
' The example displays the following output to the console:
' Unable to parse '14,644' with style None.
' Converted '14,644' to 14644.
' Converted '14,644.00' to 14644.
' '14,644.001' is out of range of the Int16 type.
' Converted '145E02' to 14500.
' Converted '145E+02' to 14500.
' '145E-02' is out of range of the Int16 type.
Keterangan
Parameter style
menentukan elemen gaya (seperti spasi kosong atau simbol tanda) yang diizinkan dalam s
parameter agar operasi penguraian berhasil. Ini harus berupa kombinasi bendera bit dari NumberStyles enumerasi. Bergantung pada nilai style
, s
parameter dapat mencakup elemen berikut:
[ws] [$] [tanda] [digits,]digits[.fractional_digits][e[sign]digits][ws]
Atau, jika style
mencakup AllowHexSpecifier:
[ws]hexdigits[ws]
Item dalam tanda kurung siku ([ dan ]) bersifat opsional. Tabel berikut ini menjelaskan setiap elemen.
Elemen | Deskripsi |
---|---|
Ws | Spasi kosong opsional. Spasi kosong dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingWhite bendera, atau di akhir s jika style menyertakan NumberStyles.AllowTrailingWhite bendera. |
$ | Simbol mata uang khusus budaya. Posisinya dalam string didefinisikan oleh NumberFormatInfo.CurrencyPositivePattern properti dan NumberFormatInfo.CurrencyNegativePattern dari budaya saat ini. Simbol mata uang budaya saat ini dapat muncul jika s style menyertakan NumberStyles.AllowCurrencySymbol bendera . |
sign | Tanda opsional. Tanda dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingSign bendera, dan dapat muncul di akhir s jika style menyertakan NumberStyles.AllowTrailingSign bendera. Tanda kurung dapat digunakan s untuk menunjukkan nilai negatif jika style menyertakan NumberStyles.AllowParentheses bendera. |
Digit | Urutan digit dari 0 hingga 9. |
, | Simbol pemisah ribuan khusus budaya. Simbol pemisah ribuan budaya saat ini dapat muncul jika s style menyertakan NumberStyles.AllowThousands bendera . |
. | Simbol titik desimal khusus budaya. Simbol titik desimal budaya saat ini dapat muncul jika s style menyertakan NumberStyles.AllowDecimalPoint bendera . |
fractional_digits | Urutan 0 digit. Digit pecahan dapat muncul jika s style menyertakan NumberStyles.AllowDecimalPoint bendera. Jika ada digit selain 0 yang muncul di fractional_digits, metode akan melempar OverflowException. |
e | Karakter 'e' atau 'E', yang menunjukkan bahwa s dapat diwakili dalam notasi eksponensial. Parameter s dapat mewakili angka dalam notasi eksponensial jika style menyertakan NumberStyles.AllowExponent bendera . Namun, s parameter harus mewakili angka dalam rentang Int16 jenis data dan tidak dapat memiliki komponen pecahan bukan nol. |
hexdigits | Urutan digit heksadesimal dari 0 hingga f, atau 0 hingga F. |
Catatan
Karakter NUL (U+0000) s
yang mengakhiri akan diabaikan oleh operasi penguraian, terlepas dari style
nilai argumen.
String dengan digit saja (yang sesuai dengan NumberStyles.None gaya) selalu berhasil diurai. Sebagian besar elemen kontrol anggota yang tersisa NumberStyles yang mungkin tetapi tidak diperlukan untuk hadir dalam string input ini. Tabel berikut menunjukkan bagaimana anggota individu NumberStyles memengaruhi elemen yang mungkin ada di s
.
Nilai NumberStyles non-komposit | Elemen yang diizinkan dalam s selain digit |
---|---|
NumberStyles.None | Digit desimal saja. |
NumberStyles.AllowDecimalPoint | Elemen . dan fractional_digits . Namun, fractional_digits hanya boleh terdiri dari satu atau lebih 0 digit atau yang OverflowException dilemparkan. |
NumberStyles.AllowExponent | Parameter s juga dapat menggunakan notasi eksponensial. |
NumberStyles.AllowLeadingWhite | Elemen ws di awal s . |
NumberStyles.AllowTrailingWhite | Elemen ws di akhir s . |
NumberStyles.AllowLeadingSign | Tanda dapat muncul sebelum digit. |
NumberStyles.AllowTrailingSign | Tanda dapat muncul setelah digit. |
NumberStyles.AllowParentheses | Elemen tanda tangan dalam bentuk tanda kurung yang menyertakan nilai numerik. |
NumberStyles.AllowThousands | Elemen , . |
NumberStyles.AllowCurrencySymbol | Elemen .$ |
NumberStyles.AllowHexSpecifier Jika bendera digunakan, s
harus berupa representasi string dari nilai heksadesimal tanpa awalan. Misalnya, "9AF3" berhasil diurai, tetapi "0x9AF3" tidak. Satu-satunya bendera lain yang dapat hadir adalah style
NumberStyles.AllowLeadingWhite dan NumberStyles.AllowTrailingWhite. (Enumerasi NumberStyles memiliki gaya angka komposit, NumberStyles.HexNumber, yang mencakup kedua bendera spasi putih.)
Parameter s
diurai menggunakan informasi pemformatan dalam objek yang diinisialisasi NumberFormatInfo untuk budaya sistem saat ini. Untuk informasi selengkapnya, lihat NumberFormatInfo.CurrentInfo. Untuk mengurai s
menggunakan informasi pemformatan budaya tertentu, panggil Int16.Parse(String, NumberStyles, IFormatProvider) metode .
Lihat juga
Berlaku untuk
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk