Decimal.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 menjadi Decimal setara.
Overload
| Nama | Deskripsi |
|---|---|
| Parse(String) |
Mengonversi representasi string dari angka menjadi Decimal setara. |
| Parse(ReadOnlySpan<Byte>, IFormatProvider) |
Mengurai rentang karakter UTF-8 menjadi nilai. |
| Parse(ReadOnlySpan<Char>, IFormatProvider) |
Mengurai rentang karakter menjadi nilai. |
| Parse(String, NumberStyles) |
Mengonversi representasi string dari angka dalam gaya tertentu ke Decimal yang setara. |
| Parse(String, IFormatProvider) |
Mengonversi representasi string dari angka ke Decimal yang setara menggunakan informasi format khusus budaya yang ditentukan. |
| Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider) |
Mengurai rentang karakter UTF-8 menjadi nilai. |
| Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Mengonversi representasi rentang angka menjadi Decimal setara menggunakan gaya yang ditentukan dan format khusus budaya. |
| Parse(String, NumberStyles, IFormatProvider) |
Mengonversi representasi string dari angka menjadi Decimal setara menggunakan gaya yang ditentukan dan format khusus budaya. |
Parse(String)
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
Mengonversi representasi string dari angka menjadi Decimal setara.
public:
static System::Decimal Parse(System::String ^ s);
public static decimal Parse(string s);
static member Parse : string -> decimal
Public Shared Function Parse (s As String) As Decimal
Parameter
- s
- String
Representasi string dari angka yang akan dikonversi.
Mengembalikan
Yang setara dengan angka yang terkandung dalam s.
Pengecualian
s adalah null.
s tidak dalam format yang benar.
s mewakili angka yang kurang dari Decimal.MinValue atau lebih besar dari Decimal.MaxValue.
Contoh
Contoh kode berikut menggunakan Parse(String) metode untuk mengurai representasi string nilai Decimal .
string value;
decimal number;
// Parse an integer with thousands separators.
value = "16,523,421";
number = Decimal.Parse(value);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// '16,523,421' converted to 16523421.
// Parse a floating point value with thousands separators
value = "25,162.1378";
number = Decimal.Parse(value);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// '25,162.1378' converted to 25162.1378.
// Parse a floating point number with US currency symbol.
value = "$16,321,421.75";
try
{
number = Decimal.Parse(value);
Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
// Unable to parse '$16,321,421.75'.
// Parse a number in exponential notation
value = "1.62345e-02";
try
{
number = Decimal.Parse(value);
Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
// Unable to parse '1.62345e-02'.
// Parse an integer with thousands separators.
let value = "16,523,421"
let number = Decimal.Parse value
printfn $"'{value}' converted to {number}."
// Displays:
// '16,523,421' converted to 16523421.
// Parse a floating point value with thousands separators
let value = "25,162.1378"
let number = Decimal.Parse value
printfn $"'{value}' converted to {number}."
// Displays:
// '25,162.1378' converted to 25162.1378.
// Parse a floating point number with US currency symbol.
let value = "$16,321,421.75"
try
let number = Decimal.Parse value
printfn $"'{value}' converted to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
// Displays:
// Unable to parse '$16,321,421.75'.
// Parse a number in exponential notation
let value = "1.62345e-02"
try
let number = Decimal.Parse value
printfn $"'{value}' converted to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
// Displays:
// Unable to parse '1.62345e-02'.
Dim value As String
Dim number As Decimal
' Parse an integer with thousands separators.
value = "16,523,421"
number = Decimal.Parse(value)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
' '16,523,421' converted to 16523421.
' Parse a floating point value with thousands separators
value = "25,162.1378"
number = Decimal.Parse(value)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
' '25,162.1378' converted to 25162.1378.
' Parse a floating point number with US currency symbol.
value = "$16,321,421.75"
Try
number = Decimal.Parse(value)
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 '$16,321,421.75'.
' Parse a number in exponential notation
value = "1.62345e-02"
Try
number = Decimal.Parse(value)
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 '1.62345e-02'.
Keterangan
Parameter s berisi sejumlah formulir:
[ws] [tanda tangan] [digits,]digits[.fractional-digits][ws]
Elemen dalam tanda kurung siku ([ dan ]) bersifat opsional. Tabel berikut ini menjelaskan setiap elemen.
| Elemen | Deskripsi |
|---|---|
| Ws | Spasi kosong opsional. |
| sign | Tanda opsional. |
| Digit | Urutan digit mulai dari 0 hingga 9. |
| , | Simbol pemisah ribuan khusus budaya. |
| . | Simbol titik desimal khusus budaya. |
| fractional-digits | Urutan digit mulai dari 0 hingga 9. |
Parameter s ditafsirkan menggunakan NumberStyles.Number gaya . Ini berarti bahwa ruang kosong dan ribuan pemisah diizinkan tetapi simbol mata uang tidak. Untuk secara eksplisit menentukan elemen (seperti simbol mata uang, ribuan pemisah, dan spasi putih) yang dapat ada di s, gunakan Decimal.Parse(String, NumberStyles) metode atau Decimal.Parse(String, NumberStyles, IFormatProvider) .
Parameter s diurai menggunakan informasi pemformatan dalam yang NumberFormatInfo diinisialisasi untuk budaya sistem saat ini. Untuk informasi selengkapnya, lihat CurrentInfo . Untuk mengurai string menggunakan informasi pemformatan dari beberapa budaya lain, gunakan Decimal.Parse(String, IFormatProvider) metode atau Decimal.Parse(String, NumberStyles, IFormatProvider) .
Jika perlu, nilai s dibulatkan menggunakan pembulatan ke terdekat.
A Decimal memiliki 29 digit presisi. Jika s mewakili angka yang memiliki lebih dari 29 digit, tetapi memiliki bagian pecahan dan berada dalam rentang MaxValue dan MinValue, angka dibulatkan, tidak dipotong, hingga 29 digit menggunakan pembulatan ke terdekat.
Jika selama operasi penguraian, pemisah ditemui dalam s parameter, dan pemisah mata uang atau angka yang berlaku dan pemisah grup sama, operasi penguraian mengasumsikan bahwa pemisah adalah pemisah desimal daripada pemisah grup. Untuk informasi selengkapnya tentang pemisah, lihat CurrencyDecimalSeparator, , NumberDecimalSeparatorCurrencyGroupSeparator, dan NumberGroupSeparator.
Lihat juga
Berlaku untuk
Parse(ReadOnlySpan<Byte>, IFormatProvider)
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
Mengurai rentang karakter UTF-8 menjadi nilai.
public:
static System::Decimal Parse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider) = IUtf8SpanParsable<System::Decimal>::Parse;
public static decimal Parse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);
static member Parse : ReadOnlySpan<byte> * IFormatProvider -> decimal
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider) As Decimal
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(ReadOnlySpan<Char>, IFormatProvider)
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
Mengurai rentang karakter menjadi nilai.
public:
static System::Decimal Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<System::Decimal>::Parse;
public static decimal Parse(ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> decimal
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As Decimal
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(String, NumberStyles)
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
Mengonversi representasi string dari angka dalam gaya tertentu ke Decimal yang setara.
public:
static System::Decimal Parse(System::String ^ s, System::Globalization::NumberStyles style);
public static decimal Parse(string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> decimal
Public Shared Function Parse (s As String, style As NumberStyles) As Decimal
Parameter
- s
- String
Representasi string dari angka yang akan dikonversi.
- style
- NumberStyles
Kombinasi NumberStyles nilai bitwise yang menunjukkan elemen gaya yang dapat ada di s. Nilai umum yang akan ditentukan adalah Number.
Mengembalikan
Angka Decimal yang setara dengan angka yang terkandung dalam s seperti yang ditentukan oleh style.
Pengecualian
s adalah null.
s tidak dalam format yang benar.
s mewakili angka yang kurang dari Decimal.MinValue atau lebih besar dari Decimal.MaxValue
Contoh
Contoh kode berikut menggunakan Parse(String, NumberStyles) metode untuk mengurai representasi Decimal string nilai menggunakan budaya en-US.
string value;
decimal number;
NumberStyles style;
// Parse string with a floating point value using NumberStyles.None.
value = "8694.12";
style = NumberStyles.None;
try
{
number = Decimal.Parse(value, style);
Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
// Unable to parse '8694.12'.
// Parse string with a floating point value and allow decimal point.
style = NumberStyles.AllowDecimalPoint;
number = Decimal.Parse(value, style);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// '8694.12' converted to 8694.12.
// Parse string with negative value in parentheses
value = "(1,789.34)";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands |
NumberStyles.AllowParentheses;
number = Decimal.Parse(value, style);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// '(1,789.34)' converted to -1789.34.
// Parse string using Number style
value = " -17,623.49 ";
style = NumberStyles.Number;
number = Decimal.Parse(value, style);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// ' -17,623.49 ' converted to -17623.49.
// Parse string with a floating point value using NumberStyles.None.
let value = "8694.12"
let style = NumberStyles.None
try
let number = Decimal.Parse(value, style)
printfn $"'{value}' converted to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
// Displays:
// Unable to parse '8694.12'.
// Parse string with a floating point value and allow decimal point.
let style = NumberStyles.AllowDecimalPoint
let number = Decimal.Parse(value, style)
printfn $"'{value}' converted to {number}."
// Displays:
// '8694.12' converted to 8694.12.
// Parse string with negative value in parentheses
let value = "(1,789.34)"
let style =
NumberStyles.AllowDecimalPoint |||
NumberStyles.AllowThousands |||
NumberStyles.AllowParentheses
let number = Decimal.Parse(value, style)
printfn $"'{value}' converted to {number}."
// Displays:
// '(1,789.34)' converted to -1789.34.
// Parse string using Number style
let value = " -17,623.49 "
let style = NumberStyles.Number
let number = Decimal.Parse(value, style)
printfn $"'{value}' converted to {number}."
// Displays:
// ' -17,623.49 ' converted to -17623.49.
Dim value As String
Dim number As Decimal
Dim style As NumberStyles
' Parse string with a floating point value using NumberStyles.None.
value = "8694.12"
style = NumberStyles.None
Try
number = Decimal.Parse(value, style)
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 '8694.12'.
' Parse string with a floating point value and allow decimal point.
style = NumberStyles.AllowDecimalPoint
number = Decimal.Parse(value, style)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
' '8694.12' converted to 8694.12.
' Parse string with negative value in parentheses
value = "(1,789.34)"
style = NumberStyles.AllowDecimalPoint Or NumberStyles.AllowThousands Or _
NumberStyles.AllowParentheses
number = Decimal.Parse(value, style)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
' '(1,789.34)' converted to -1789.34.
' Parse string using Number style
value = " -17,623.49 "
style = NumberStyles.Number
number = Decimal.Parse(value, style)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
' ' -17,623.49 ' converted to -17623.49.
Keterangan
Parameter style mendefinisikan elemen gaya (seperti ribuan pemisah, spasi kosong, dan simbol mata uang) yang diizinkan dalam s parameter agar operasi penguraian berhasil. Ini harus merupakan kombinasi bendera bit dari NumberStyles enumerasi. Anggota berikut NumberStyles ini tidak didukung:
Bergantung pada nilai style, s parameter dapat mencakup elemen berikut:
[ws] [$] [tanda tangan] [digits,]digits[.fractional-digits][e[sign]digits][ws]
Elemen 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, dan dapat muncul di akhir s jika style menyertakan NumberStyles.AllowTrailingWhite bendera. |
| $ | Simbol mata uang khusus budaya. Posisinya dalam string didefinisikan oleh NumberFormatInfo.CurrencyNegativePattern properti dan NumberFormatInfo.CurrencyPositivePattern dari budaya saat ini. Simbol mata uang budaya saat ini dapat muncul jika sstyle 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 mulai dari 0 hingga 9. |
| , | Simbol pemisah ribuan khusus budaya. Pemisah ribuan budaya saat ini dapat muncul jika sstyle menyertakan NumberStyles.AllowThousands bendera. |
| . | Simbol titik desimal khusus budaya. Simbol titik desimal budaya saat ini dapat muncul jika sstyle menyertakan NumberStyles.AllowDecimalPoint bendera. |
| fractional-digits | Urutan digit mulai dari 0 hingga 9. Digit pecahan dapat muncul s hanya jika style menyertakan NumberStyles.AllowDecimalPoint bendera. |
| e | Karakter 'e' atau 'E', yang menunjukkan bahwa nilai diwakili dalam notasi eksponensial. Parameter s dapat mewakili angka dalam notasi eksponensial jika style menyertakan NumberStyles.AllowExponent bendera. |
Nota
Karakter NUL (U+0000) s yang dihentikan diabaikan oleh operasi penguraian, terlepas dari style nilai argumen.
String dengan digit saja (yang sesuai dengan None gaya) selalu berhasil diurai jika berada dalam rentang Decimal jenis. Elemen kontrol anggota yang tersisa NumberStyles yang mungkin tetapi tidak diperlukan untuk hadir dalam string input. Tabel berikut menunjukkan bagaimana anggota individu NumberStyles memengaruhi elemen yang mungkin ada di s.
| Nilai NumberStyles | Elemen yang diizinkan dalam s selain digit |
|---|---|
| None | Elemen digit saja. |
| AllowDecimalPoint | Elemen . dan fractional-digits . |
| AllowExponent | Parameter s juga dapat menggunakan notasi eksponensial. Bendera ini mendukung nilai dalam digitformulir Edigit; bendera tambahan diperlukan untuk berhasil mengurai string dengan elemen seperti tanda positif atau negatif dan simbol titik desimal. |
| AllowLeadingWhite | Elemen ws di awal s. |
| AllowTrailingWhite | Elemen ws di akhir s. |
| AllowLeadingSign | Elemen tanda di awal s. |
| AllowTrailingSign | Elemen tanda di akhir s. |
| AllowParentheses | Elemen tanda dalam bentuk tanda kurung yang menyertakan nilai numerik. |
| AllowThousands | Elemen , . |
| AllowCurrencySymbol | Elemen .$ |
| Currency | Semua. Parameter s tidak dapat mewakili angka heksadesimal atau angka dalam notasi eksponensial. |
| Float | Elemen ws di awal atau akhir , standa di awal s, dan . simbol . Parameter s juga dapat menggunakan notasi eksponensial. |
| Number | Elemen ws, sign, , dan . . |
| Any | Semua gaya, kecuali s tidak dapat mewakili angka heksadesimal. |
Parameter s diurai menggunakan informasi pemformatan dalam objek yang NumberFormatInfo diinisialisasi untuk budaya sistem saat ini. Untuk informasi selengkapnya, lihat CurrentInfo .
A Decimal memiliki 29 digit presisi. Jika s mewakili angka yang memiliki lebih dari 29 digit, tetapi memiliki bagian pecahan dan berada dalam rentang MaxValue dan MinValue, angka dibulatkan, tidak dipotong, hingga 29 digit menggunakan pembulatan ke terdekat.
Jika pemisah ditemui dalam s parameter selama operasi penguraian, styles termasuk NumberStyles.AllowThousands nilai dan NumberStyles.AllowDecimalPoint , dan pemisah mata uang atau angka yang berlaku dan pemisah grup sama, operasi penguraian mengasumsikan bahwa pemisah adalah pemisah desimal daripada pemisah grup. Untuk informasi selengkapnya tentang pemisah, lihat CurrencyDecimalSeparator, , NumberDecimalSeparatorCurrencyGroupSeparator, dan NumberGroupSeparator.
Lihat juga
Berlaku untuk
Parse(String, IFormatProvider)
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
Mengonversi representasi string dari angka ke Decimal yang setara menggunakan informasi format khusus budaya yang ditentukan.
public:
static System::Decimal Parse(System::String ^ s, IFormatProvider ^ provider);
public:
static System::Decimal Parse(System::String ^ s, IFormatProvider ^ provider) = IParsable<System::Decimal>::Parse;
public static decimal Parse(string s, IFormatProvider provider);
public static decimal Parse(string s, IFormatProvider? provider);
static member Parse : string * IFormatProvider -> decimal
Public Shared Function Parse (s As String, provider As IFormatProvider) As Decimal
Parameter
- s
- String
Representasi string dari angka yang akan dikonversi.
- provider
- IFormatProvider
Yang IFormatProvider memasok informasi penguraian khusus budaya tentang s.
Mengembalikan
Angka Decimal yang setara dengan angka yang terkandung dalam s seperti yang ditentukan oleh provider.
Penerapan
Pengecualian
s adalah null.
s bukan dari format yang benar.
s mewakili angka yang kurang dari Decimal.MinValue atau lebih besar dari Decimal.MaxValue.
Contoh
Contoh berikut adalah tombol klik penanganan aktivitas formulir Web. Ini menggunakan array yang dikembalikan oleh HttpRequest.UserLanguages properti untuk menentukan lokal pengguna. Kemudian membuat instans CultureInfo objek yang sesuai dengan lokal tersebut. Objek NumberFormatInfo milik CultureInfo objek tersebut Parse(String, IFormatProvider) kemudian diteruskan ke metode untuk mengonversi input pengguna menjadi Decimal nilai.
protected void OkToDecimal_Click(object sender, EventArgs e)
{
string locale;
decimal number;
CultureInfo culture;
// Return if string is empty
if (String.IsNullOrEmpty(this.inputNumber.Text))
return;
// Get locale of web request to determine possible format of number
if (Request.UserLanguages.Length == 0)
return;
locale = Request.UserLanguages[0];
if (String.IsNullOrEmpty(locale))
return;
// Instantiate CultureInfo object for the user's locale
culture = new CultureInfo(locale);
// Convert user input from a string to a number
try
{
number = Decimal.Parse(this.inputNumber.Text, culture.NumberFormat);
}
catch (FormatException)
{
return;
}
catch (Exception)
{
return;
}
// Output number to label on web form
this.outputNumber.Text = "Number is " + number.ToString();
}
Protected Sub OkToDecimal_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OkToDecimal.Click
Dim locale As String
Dim culture As CultureInfo
Dim number As Decimal
' Return if string is empty
If String.IsNullOrEmpty(Me.inputNumber.Text) Then Exit Sub
' Get locale of web request to determine possible format of number
If Request.UserLanguages.Length = 0 Then Exit Sub
locale = Request.UserLanguages(0)
If String.IsNullOrEmpty(locale) Then Exit Sub
' Instantiate CultureInfo object for the user's locale
culture = New CultureInfo(locale)
' Convert user input from a string to a number
Try
number = Decimal.Parse(Me.inputNumber.Text, culture.NumberFormat)
Catch ex As FormatException
Exit Sub
Catch ex As Exception
Exit Sub
End Try
' Output number to label on web form
Me.outputNumber.Text = "Number is " & number.ToString()
End Sub
Keterangan
Kelebihan beban Parse(String, IFormatProvider) metode ini umumnya digunakan untuk mengonversi teks yang dapat diformat dalam berbagai cara menjadi Decimal nilai. Misalnya, teks dapat digunakan untuk mengonversi teks yang dimasukkan oleh pengguna ke dalam kotak teks HTML menjadi nilai numerik.
Parameter s berisi sejumlah formulir:
[ws] [tanda tangan] [digits,]digits[.fractional-digits][ws]
Elemen dalam tanda kurung siku ([ dan ]) bersifat opsional. Tabel berikut ini menjelaskan setiap elemen.
| Elemen | Deskripsi |
|---|---|
| Ws | Spasi kosong opsional. |
| sign | Tanda opsional. |
| Digit | Urutan digit mulai dari 0 hingga 9. |
| , | Simbol pemisah ribuan khusus budaya. |
| . | Simbol titik desimal khusus budaya. |
| fractional-digits | Urutan digit mulai dari 0 hingga 9. |
Parameter s ditafsirkan menggunakan NumberStyles.Number gaya . Ini berarti bahwa ruang kosong dan ribuan pemisah diizinkan tetapi simbol mata uang tidak. Untuk secara eksplisit menentukan elemen (seperti simbol mata uang, ribuan pemisah, dan spasi kosong) yang dapat ada di s, gunakan Decimal.Parse(String, NumberStyles, IFormatProvider) metode .
Parameter provider adalah IFormatProvider implementasi, seperti NumberFormatInfo objek atau CultureInfo . Parameter memasok provider informasi khusus budaya yang digunakan dalam penguraian. Jika provider adalah null, budaya utas saat ini digunakan.
Objek Decimal memiliki 29 digit presisi. Jika s mewakili angka yang memiliki lebih dari 29 digit, tetapi memiliki bagian pecahan dan berada dalam rentang MaxValue dan MinValue, angka dibulatkan, tidak dipotong, hingga 29 digit menggunakan pembulatan ke terdekat.
Jika pemisah ditemui dalam s parameter selama operasi penguraian, dan pemisah mata uang atau angka yang berlaku dan pemisah grup sama, operasi penguraian mengasumsikan bahwa pemisah adalah pemisah desimal daripada pemisah grup. Untuk informasi selengkapnya tentang pemisah, lihat CurrencyDecimalSeparator, , NumberDecimalSeparatorCurrencyGroupSeparator, dan NumberGroupSeparator.
Lihat juga
Berlaku untuk
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
Mengurai rentang karakter UTF-8 menjadi nilai.
public static decimal Parse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Number, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider -> decimal
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), Optional style As NumberStyles = System.Globalization.NumberStyles.Number, Optional provider As IFormatProvider = Nothing) As Decimal
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Rentang karakter UTF-8 untuk diurai.
- style
- NumberStyles
Kombinasi bitwise dari 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(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
Mengonversi representasi rentang angka menjadi Decimal setara menggunakan gaya yang ditentukan dan format khusus budaya.
public static decimal Parse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Number, IFormatProvider? provider = default);
public static decimal Parse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Number, IFormatProvider provider = default);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> decimal
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Number, Optional provider As IFormatProvider = Nothing) As Decimal
Parameter
- s
- ReadOnlySpan<Char>
Rentang yang berisi karakter yang mewakili angka yang akan dikonversi.
- style
- NumberStyles
Kombinasi NumberStyles nilai bitwise yang menunjukkan elemen gaya yang dapat ada di s. Nilai umum yang akan ditentukan adalah Number.
- provider
- IFormatProvider
Objek IFormatProvider yang memasok informasi khusus budaya tentang format s.
Mengembalikan
Angka Decimal yang setara dengan angka yang terkandung dalam s sebagaimana ditentukan oleh style dan provider.
Penerapan
Berlaku untuk
Parse(String, NumberStyles, IFormatProvider)
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
- Sumber:
- Decimal.cs
Mengonversi representasi string dari angka menjadi Decimal setara menggunakan gaya yang ditentukan dan format khusus budaya.
public:
static System::Decimal Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public:
static System::Decimal Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider) = System::Numerics::INumberBase<System::Decimal>::Parse;
public static decimal Parse(string s, System.Globalization.NumberStyles style, IFormatProvider provider);
public static decimal Parse(string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> decimal
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As Decimal
Parameter
- s
- String
Representasi string dari angka yang akan dikonversi.
- style
- NumberStyles
Kombinasi NumberStyles nilai bitwise yang menunjukkan elemen gaya yang dapat ada di s. Nilai umum yang akan ditentukan adalah Number.
- provider
- IFormatProvider
Objek IFormatProvider yang memasok informasi khusus budaya tentang format s.
Mengembalikan
Angka Decimal yang setara dengan angka yang terkandung dalam s sebagaimana ditentukan oleh style dan provider.
Penerapan
Pengecualian
s tidak dalam format yang benar.
s mewakili angka yang kurang dari Decimal.MinValue atau lebih besar dari Decimal.MaxValue.
s adalah null.
Contoh
Contoh berikut menggunakan berbagai style parameter dan provider untuk mengurai representasi Decimal string nilai.
string value;
decimal number;
NumberStyles style;
CultureInfo provider;
// Parse string using " " as the thousands separator
// and "," as the decimal separator for fr-FR culture.
value = "892 694,12";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands;
provider = new CultureInfo("fr-FR");
number = Decimal.Parse(value, style, provider);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// '892 694,12' converted to 892694.12.
try
{
number = Decimal.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 '892 694,12'.
// Parse string using "$" as the currency symbol for en-GB and
// en-US cultures.
value = "$6,032.51";
style = NumberStyles.Number | NumberStyles.AllowCurrencySymbol;
provider = new CultureInfo("en-GB");
try
{
number = Decimal.Parse(value, style, provider);
Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
// Unable to parse '$6,032.51'.
provider = new CultureInfo("en-US");
number = Decimal.Parse(value, style, provider);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
// '$6,032.51' converted to 6032.51.
// Parse string using " " as the thousands separator
// and "," as the decimal separator for fr-FR culture.
let value = "892 694,12"
let style = NumberStyles.AllowDecimalPoint ||| NumberStyles.AllowThousands
let provider = CultureInfo "fr-FR"
let number = Decimal.Parse(value, style, provider)
printfn $"'{value}' converted to {number}."
// Displays:
// '892 694,12' converted to 892694.12.
try
let number = Decimal.Parse(value, style, CultureInfo.InvariantCulture)
printfn $"'{value}' converted to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
// Displays:
// Unable to parse '892 694,12'.
// Parse string using "$" as the currency symbol for en-GB and
// en-US cultures.
let value = "$6,032.51"
let style = NumberStyles.Number ||| NumberStyles.AllowCurrencySymbol
let provider = CultureInfo "en-GB"
try
let number = Decimal.Parse(value, style, provider)
printfn $"'{value}' converted to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
// Displays:
// Unable to parse '$6,032.51'.
let provider = CultureInfo "en-US"
let number = Decimal.Parse(value, style, provider)
printfn $"'{value}' converted to {number}."
// Displays:
// '$6,032.51' converted to 6032.51.
Dim value As String
Dim number As Decimal
Dim style As NumberStyles
Dim provider As CultureInfo
' Parse string using " " as the thousands separator
' and "," as the decimal separator for fr-FR culture.
value = "892 694,12"
style = NumberStyles.AllowDecimalPoint Or NumberStyles.AllowThousands
provider = New CultureInfo("fr-FR")
number = Decimal.Parse(value, style, provider)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
' '892 694,12' converted to 892694.12.
Try
number = Decimal.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 '892 694,12'.
' Parse string using "$" as the currency symbol for en-GB and
' en-US cultures.
value = "$6,032.51"
style = NumberStyles.Number Or NumberStyles.AllowCurrencySymbol
provider = New CultureInfo("en-GB")
Try
number = Decimal.Parse(value, style, provider)
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.51'.
provider = New CultureInfo("en-US")
number = Decimal.Parse(value, style, provider)
Console.WriteLine("'{0}' converted to {1}.", value, number)
' Displays:
' '$6,032.51' converted to 6032.51.
Keterangan
Parameter style menentukan format parameter yang s diizinkan agar operasi penguraian berhasil. Ini harus merupakan kombinasi bendera bit dari NumberStyles enumerasi. Anggota berikut NumberStyles ini tidak didukung:
Bergantung pada nilai style, s parameter dapat mencakup elemen berikut:
[ws] [$] [tanda tangan] [digits,]digits[.fractional-digits][e[sign]digits][ws]
Elemen dalam tanda kurung siku ([ dan ]) bersifat opsional. Tabel berikut ini menjelaskan setiap elemen.
| Elemen | Deskripsi |
|---|---|
| $ | Simbol mata uang khusus budaya. Posisinya dalam string didefinisikan oleh CurrencyNegativePattern properti dan CurrencyPositivePattern objek yang NumberFormatInfo dikembalikan oleh GetFormat metode provider parameter . Simbol mata uang dapat muncul jika sstyle menyertakan NumberStyles.AllowCurrencySymbol bendera. |
| Ws | Spasi kosong opsional. Spasi kosong dapat muncul di awal s jika style menyertakan NumberStyles.AllowLeadingWhite bendera, dan dapat muncul di akhir s jika style menyertakan NumberStyles.AllowTrailingWhite 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 mulai dari 0 hingga 9. |
| , | Simbol pemisah ribuan khusus budaya. Pemisah ribuan budaya yang ditentukan oleh provider dapat muncul jika sstyle menyertakan NumberStyles.AllowThousands bendera. |
| . | Simbol titik desimal khusus budaya. Simbol titik desimal dari budaya yang ditentukan oleh provider dapat muncul jika sstyle menyertakan NumberStyles.AllowDecimalPoint bendera. |
| fractional-digits | Urutan digit mulai dari 0 hingga 9. Digit pecahan dapat muncul s hanya jika style menyertakan NumberStyles.AllowDecimalPoint bendera. |
| e | Karakter 'e' atau 'E', yang menunjukkan bahwa nilai diwakili dalam notasi eksponensial. Parameter s dapat mewakili angka dalam notasi eksponensial jika style menyertakan NumberStyles.AllowExponent bendera. |
Nota
Karakter NUL (U+0000) s yang dihentikan diabaikan oleh operasi penguraian, terlepas dari style nilai argumen.
String dengan digit saja (yang sesuai dengan None gaya) selalu berhasil diurai jika berada dalam rentang Decimal jenis. Elemen kontrol anggota yang tersisa NumberStyles yang mungkin tetapi tidak diperlukan untuk hadir dalam string input. Tabel berikut menunjukkan bagaimana anggota individu NumberStyles memengaruhi elemen yang mungkin ada di s.
| Nilai NumberStyles | Elemen yang diizinkan dalam s selain digit |
|---|---|
| None | Elemen digit saja. |
| AllowDecimalPoint | Elemen . dan fractional-digits . |
| AllowExponent | Parameter s juga dapat menggunakan notasi eksponensial. Bendera ini mendukung nilai dalam digitformulir Edigit; bendera tambahan diperlukan untuk berhasil mengurai string dengan elemen seperti tanda positif atau negatif dan simbol titik desimal. |
| AllowLeadingWhite | Elemen ws di awal s. |
| AllowTrailingWhite | Elemen ws di akhir s. |
| AllowLeadingSign | Elemen tanda di awal s. |
| AllowTrailingSign | Elemen tanda di akhir s. |
| AllowParentheses | Elemen tanda dalam bentuk tanda kurung yang menyertakan nilai numerik. |
| AllowThousands | Elemen , . |
| AllowCurrencySymbol | Elemen .$ |
| Currency | Semua. Parameter s tidak dapat mewakili angka heksadesimal atau angka dalam notasi eksponensial. |
| Float | Elemen ws di awal atau akhir , standa di awal s, dan simbol . Parameter s juga dapat menggunakan notasi eksponensial. |
| Number | Elemen ws, , sign, , dan . . |
| Any | Semua gaya, kecuali s tidak dapat mewakili angka heksadesimal. |
Parameter provider adalah IFormatProvider implementasi, seperti NumberFormatInfo objek atau CultureInfo . Parameter memasok provider informasi khusus budaya yang digunakan dalam penguraian. Jika provider adalah null, budaya utas saat ini digunakan.
Objek Decimal memiliki 29 digit presisi. Jika s mewakili angka yang memiliki lebih dari 29 digit, tetapi memiliki bagian pecahan dan berada dalam rentang MaxValue dan MinValue, angka dibulatkan, tidak dipotong, hingga 29 digit menggunakan pembulatan ke terdekat.
Jika pemisah ditemui dalam s parameter selama operasi penguraian, dan pemisah mata uang atau angka yang berlaku dan pemisah grup sama, operasi penguraian mengasumsikan bahwa pemisah adalah pemisah desimal daripada pemisah grup. Untuk informasi selengkapnya tentang pemisah, lihat CurrencyDecimalSeparator, , NumberDecimalSeparatorCurrencyGroupSeparator, dan NumberGroupSeparator.