Decimal.TryParse Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bir sayının dize gösterimini eşdeğerine Decimal dönüştürür. Dönüştürmenin başarılı veya başarısız olduğunu gösteren dönüş değeri.
Aşırı Yüklemeler
TryParse(ReadOnlySpan<Byte>, Decimal) |
Bir sayının dize gösterimini içeren UTF-8 karakter aralığını imzalı ondalık eşdeğerine dönüştürmeye çalışır. |
TryParse(ReadOnlySpan<Char>, Decimal) |
Belirtilen stili ve kültüre özgü biçimi kullanarak bir sayının span gösterimini eşdeğerine Decimal dönüştürür. Dönüştürmenin başarılı veya başarısız olduğunu gösteren dönüş değeri. |
TryParse(String, Decimal) |
Bir sayının dize gösterimini eşdeğerine Decimal dönüştürür. Dönüştürmenin başarılı veya başarısız olduğunu gösteren dönüş değeri. |
TryParse(ReadOnlySpan<Byte>, IFormatProvider, Decimal) |
UTF-8 karakterlik bir aralığı bir değere ayrıştırmaya çalışır. |
TryParse(ReadOnlySpan<Char>, IFormatProvider, Decimal) |
Bir karakter aralığını bir değere ayrıştırmaya çalışır. |
TryParse(String, IFormatProvider, Decimal) |
Bir dizeyi bir değere ayrıştırmaya çalışır. |
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Decimal) |
UTF-8 karakterlik bir aralığı bir değere ayrıştırmaya çalışır. |
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Decimal) |
Belirtilen stili ve kültüre özgü biçimi kullanarak bir sayının span gösterimini eşdeğerine Decimal dönüştürür. Dönüştürmenin başarılı veya başarısız olduğunu gösteren dönüş değeri. |
TryParse(String, NumberStyles, IFormatProvider, Decimal) |
Belirtilen stili ve kültüre özgü biçimi kullanarak bir sayının dize gösterimini eşdeğerine Decimal dönüştürür. Dönüştürmenin başarılı veya başarısız olduğunu gösteren dönüş değeri. |
TryParse(ReadOnlySpan<Byte>, Decimal)
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
Bir sayının dize gösterimini içeren UTF-8 karakter aralığını imzalı ondalık eşdeğerine dönüştürmeye çalışır.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::Decimal % result);
public static bool TryParse (ReadOnlySpan<byte> utf8Text, out decimal result);
static member TryParse : ReadOnlySpan<byte> * decimal -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As Decimal) As Boolean
Parametreler
- utf8Text
- ReadOnlySpan<Byte>
Dönüştürülecek sayıyı temsil eden UTF-8 karakterlerini içeren bir yayılma alanı.
- result
- Decimal
Bu yöntem döndürdüğünde, dönüştürme başarılı olursa içinde bulunan sayıya eşdeğer imzalı utf8Text
ondalık değeri veya dönüştürme başarısız olursa sıfır içerir. Bu parametre başlatılmadan geçirilir; başlangıçta sonuçta sağlanan tüm değerlerin üzerine yazılır.
Döndürülenler
true
başarıyla dönüştürüldüyse utf8Text
; aksi takdirde , false
.
Şunlara uygulanır
TryParse(ReadOnlySpan<Char>, Decimal)
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
Belirtilen stili ve kültüre özgü biçimi kullanarak bir sayının span gösterimini eşdeğerine Decimal dönüştürür. Dönüştürmenin başarılı veya başarısız olduğunu gösteren dönüş değeri.
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] System::Decimal % result);
public static bool TryParse (ReadOnlySpan<char> s, out decimal result);
static member TryParse : ReadOnlySpan<char> * decimal -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As Decimal) As Boolean
Parametreler
- s
- ReadOnlySpan<Char>
Dönüştürülecek sayıyı temsil eden karakterleri içeren bir yayılma alanı.
- result
- Decimal
Bu yöntem döndürdüğünde Decimal , içinde bulunan s
sayısal değere eşdeğer olan sayıyı, dönüştürme başarılı olursa veya dönüştürme başarısız olursa sıfır içerir. parametre null
veya Emptyise, ile style
uyumlu bir biçimdeki bir sayı değilse veya Decimal.MinValue değerinden küçük veya Decimal.MaxValue değerinden büyük bir sayıyı temsil ederse dönüştürme başarısız olurs
. Bu parametre uininitialized geçirilir; içinde ilk olarak sağlanan result
tüm değerlerin üzerine yazılır.
Döndürülenler
true
başarıyla dönüştürüldüyse s
; aksi takdirde , false
.
Şunlara uygulanır
TryParse(String, Decimal)
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
Bir sayının dize gösterimini eşdeğerine Decimal dönüştürür. Dönüştürmenin başarılı veya başarısız olduğunu gösteren dönüş değeri.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::Decimal % result);
public static bool TryParse (string s, out decimal result);
public static bool TryParse (string? s, out decimal result);
static member TryParse : string * decimal -> bool
Public Shared Function TryParse (s As String, ByRef result As Decimal) As Boolean
Parametreler
- s
- String
Dönüştürülecek sayının dize gösterimi.
- result
- Decimal
Bu yöntem döndürdüğünde Decimal , içinde bulunan s
sayısal değere eşdeğer olan sayıyı, dönüştürme başarılı olursa veya dönüştürme başarısız olursa sıfır içerir. Parametre veya Emptyisenull
, geçerli bir biçimdeki bir sayı değilse veya Decimal.MinValue değerinden küçük veya Decimal.MaxValue değerinden büyük bir sayıyı temsil ederse dönüştürme başarısız olurs
. Bu parametre uininitialized geçirilir; içinde ilk olarak sağlanan result
tüm değerlerin üzerine yazılır.
Döndürülenler
true
başarıyla dönüştürüldüyse s
; aksi takdirde , false
.
Örnekler
Aşağıdaki örnek, sayısal değerlerin Decimal.TryParse(String, Decimal) dize gösterimlerini değerlere dönüştürmek için Decimal yöntemini kullanır. En-US'nin geçerli kültür olduğunu varsayar.
string value;
decimal number;
// Parse a floating-point value with a thousands separator.
value = "1,643.57";
if (Decimal.TryParse(value, out number))
Console.WriteLine(number);
else
Console.WriteLine("Unable to parse '{0}'.", value);
// Parse a floating-point value with a currency symbol and a
// thousands separator.
value = "$1,643.57";
if (Decimal.TryParse(value, out number))
Console.WriteLine(number);
else
Console.WriteLine("Unable to parse '{0}'.", value);
// Parse value in exponential notation.
value = "-1.643e6";
if (Decimal.TryParse(value, out number))
Console.WriteLine(number);
else
Console.WriteLine("Unable to parse '{0}'.", value);
// Parse a negative integer value.
value = "-1689346178821";
if (Decimal.TryParse(value, out number))
Console.WriteLine(number);
else
Console.WriteLine("Unable to parse '{0}'.", value);
// The example displays the following output to the console:
// 1643.57
// Unable to parse '$1,643.57'.
// Unable to parse '-1.643e6'.
// -1689346178821
// Parse a floating-point value with a thousands separator.
let value = "1,643.57"
match Decimal.TryParse value with
| true, number ->
printfn $"{number}"
| _ ->
printfn $"Unable to parse '{value}'."
// Parse a floating-point value with a currency symbol and a
// thousands separator.
let value = "$1,643.57"
match Decimal.TryParse value with
| true, number ->
printfn $"{number}"
| _ ->
printfn $"Unable to parse '{value}'."
// Parse value in exponential notation.
let value = "-1.643e6"
match Decimal.TryParse value with
| true, number ->
printfn $"{number}"
| _ ->
printfn $"Unable to parse '{value}'."
// Parse a negative integer value.
let value = "-1689346178821"
match Decimal.TryParse value with
| true, number ->
printfn $"{number}"
| _ ->
printfn $"Unable to parse '{value}'."
// The example displays the following output to the console:
// 1643.57
// Unable to parse '$1,643.57'.
// Unable to parse '-1.643e6'.
// -1689346178821
Dim value As String
Dim number As Decimal
' Parse a floating-point value with a thousands separator.
value = "1,643.57"
If Decimal.TryParse(value, number) Then
Console.WriteLine(number)
Else
Console.WriteLine("Unable to parse '{0}'.", value)
End If
' Parse a floating-point value with a currency symbol and a
' thousands separator.
value = "$1,643.57"
If Decimal.TryParse(value, number) Then
Console.WriteLine(number)
Else
Console.WriteLine("Unable to parse '{0}'.", value)
End If
' Parse value in exponential notation.
value = "-1.643e6"
If Decimal.TryParse(value, number)
Console.WriteLine(number)
Else
Console.WriteLine("Unable to parse '{0}'.", value)
End If
' Parse a negative integer value.
value = "-1689346178821"
If Decimal.TryParse(value, number)
Console.WriteLine(number)
Else
Console.WriteLine("Unable to parse '{0}'.", value)
End If
' The example displays the following output to the console:
' 1643.57
' Unable to parse '$1,643.57'.
' Unable to parse '-1.643e6'.
' -1689346178821
Açıklamalar
Bu aşırı yükleme, ayrıştırılmış sayısal değeri döndürmek yerine ayrıştırma işleminin başarılı olup olmadığını belirten bir Boole değeri döndürerek yönteminden Decimal.Parse(String) farklıdır. Geçersiz olan ve başarıyla ayrıştırılamayan bir olayda s
test etmek için FormatException özel durum işleme kullanma gereksinimini ortadan kaldırır.
Parametre s
formun bir sayısını içerir:
[ws] [sign] [rakamlar,]rakamlar[.kesirli-basamaklar][ws]
Köşeli ayraçlar ([ve]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tablo her öğeyi açıklar.
Öğe | Açıklama |
---|---|
Ws | İsteğe bağlı beyaz boşluk. |
sign | İsteğe bağlı bir işaret. |
Basamak | 0 İle 9 arasında değişen bir basamak dizisi. |
, | Kültüre özgü binler basamaklarını ayıran simge. |
. | Bir kültüre özgü ondalık nokta sembolü. |
kesirli basamaklar | 0 İle 9 arasında değişen bir basamak dizisi. |
Parametre s
, stil kullanılarak NumberStyles.Number yorumlanır. Bu, boşluk ve binlik ayırıcılarına izin verildiği, ancak para birimi simgelerine izin verilmediği anlamına gelir. içinde s
bulunabilecek öğeleri (para birimi simgeleri, binlik ayırıcılar ve boşluk gibi) açıkça tanımlamak için yöntemi aşırı yüklemesini Decimal.TryParse(String, NumberStyles, IFormatProvider, Decimal) kullanın.
Parametre s
, geçerli sistem kültürü için başlatılan bir NumberFormatInfo nesnedeki biçimlendirme bilgileri kullanılarak ayrıştırılır. Daha fazla bilgi için bkz. CurrentInfo. Belirtilen başka bir kültürün biçimlendirme bilgilerini kullanarak bir dizeyi ayrıştırmak için yöntemi aşırı yüklemesini Decimal.TryParse(String, NumberStyles, IFormatProvider, Decimal) kullanın.
Gerekirse değeri, s
en yakına yuvarlama kullanılarak yuvarlanır.
Nesnenin Decimal 29 basamaklı duyarlık değeri vardır. s
29'dan fazla basamağı olan, ancak kesirli bölümü olan ve ile aralığında MaxValueMinValueolan bir sayıyı temsil ediyorsanız, sayı yuvarlanır, yuvarlanır, kırpılmaz ve en yakına yuvarlama kullanılarak 29 basamağı olur.
Ayrıştırma işlemi sırasında parametrede s
bir ayırıcıyla karşılaşılırsa ve geçerli para birimi veya sayı ondalık ve grup ayırıcıları aynıysa, ayrıştırma işlemi ayırıcının grup ayırıcısı yerine ondalık ayırıcı olduğunu varsayar. Ayırıcılar hakkında daha fazla bilgi için bkz CurrencyDecimalSeparator. , NumberDecimalSeparator, CurrencyGroupSeparatorve NumberGroupSeparator.
Ayrıca bkz.
Şunlara uygulanır
TryParse(ReadOnlySpan<Byte>, IFormatProvider, Decimal)
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
UTF-8 karakterlik bir aralığı bir değere ayrıştırmaya çalışır.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Decimal % result) = IUtf8SpanParsable<System::Decimal>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out decimal result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * decimal -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As Decimal) As Boolean
Parametreler
- utf8Text
- ReadOnlySpan<Byte>
Ayrıştırılacak UTF-8 karakter aralığı.
- provider
- IFormatProvider
hakkında utf8Text
kültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
- result
- Decimal
Sonuç olarak, başarıyla ayrıştırma utf8Text
işleminin sonucunu veya hata durumunda tanımlanmamış bir değeri içerir.
Döndürülenler
true
başarıyla ayrıştırıldıysa utf8Text
; değilse, false
.
Şunlara uygulanır
TryParse(ReadOnlySpan<Char>, IFormatProvider, Decimal)
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
Bir karakter aralığını bir değere ayrıştırmaya çalışır.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Decimal % result) = ISpanParsable<System::Decimal>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, IFormatProvider? provider, out decimal result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * decimal -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As Decimal) As Boolean
Parametreler
- s
- ReadOnlySpan<Char>
Ayrıştırılacak karakterlerin yayılması.
- provider
- IFormatProvider
hakkında s
kültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
- result
- Decimal
Bu yöntem döndürdüğünde, başarıyla ayrıştırma s
işleminin sonucunu veya hatada tanımlanmamış bir değeri içerir.
Döndürülenler
true
başarıyla ayrıştırıldıysa s
; değilse, false
.
Şunlara uygulanır
TryParse(String, IFormatProvider, Decimal)
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
Bir dizeyi bir değere ayrıştırmaya çalışır.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Decimal % result) = IParsable<System::Decimal>::TryParse;
public static bool TryParse (string? s, IFormatProvider? provider, out decimal result);
static member TryParse : string * IFormatProvider * decimal -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As Decimal) As Boolean
Parametreler
- s
- String
Ayrıştıracak dize.
- provider
- IFormatProvider
hakkında s
kültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
- result
- Decimal
Bu yöntem döndürdüğünde, başarıyla ayrıştırma s
işleminin sonucunu veya hatada tanımlanmamış bir değeri içerir.
Döndürülenler
true
başarıyla ayrıştırıldıysa s
; değilse, false
.
Şunlara uygulanır
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Decimal)
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
UTF-8 karakterlik bir aralığı bir değere ayrıştırmaya çalışır.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Decimal % result) = System::Numerics::INumberBase<System::Decimal>::TryParse;
public static bool TryParse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out decimal result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * decimal -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As Decimal) As Boolean
Parametreler
- utf8Text
- ReadOnlySpan<Byte>
Ayrıştırılacak UTF-8 karakter aralığı.
- style
- NumberStyles
içinde utf8Text
bulunabilecek sayı stillerinin bit düzeyinde birleşimi.
- provider
- IFormatProvider
hakkında utf8Text
kültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
- result
- Decimal
Sonuç olarak, başarıyla ayrıştırma utf8Text
işleminin sonucunu veya hata durumunda tanımlanmamış bir değeri içerir.
Döndürülenler
true
başarıyla ayrıştırıldıysa utf8Text
; aksi takdirde , false
.
Şunlara uygulanır
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Decimal)
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
Belirtilen stili ve kültüre özgü biçimi kullanarak bir sayının span gösterimini eşdeğerine Decimal dönüştürür. Dönüştürmenin başarılı veya başarısız olduğunu gösteren dönüş değeri.
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Decimal % result);
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Decimal % result) = System::Numerics::INumberBase<System::Decimal>::TryParse;
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out decimal result);
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out decimal result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * decimal -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As Decimal) As Boolean
Parametreler
- s
- ReadOnlySpan<Char>
Dönüştürülecek sayıyı temsil eden karakterleri içeren bir yayılma alanı.
- style
- NumberStyles
İzin verilen biçimini gösteren sabit listesi değerlerinin bit düzeyinde birleşimi s
. Belirtilmesi gereken tipik bir değerdir Number.
- provider
- IFormatProvider
hakkında s
kültüre özgü ayrıştırma bilgileri sağlayan bir nesne.
- result
- Decimal
Bu yöntem döndürdüğünde Decimal , içinde bulunan s
sayısal değere eşdeğer olan sayıyı, dönüştürme başarılı olursa değerini veya dönüştürme başarısız olursa sıfırı içerir. veya parametresi null
Emptyile uyumlu style
bir biçimdeki bir sayı değilse veya Decimal.MinValue değerinden küçük veya Decimal.MaxValue değerinden büyük bir sayıyı temsil ederse s
dönüştürme başarısız olur. Bu parametre başlatılmamış olarak geçirilir; başlangıçta verilen result
tüm değerlerin üzerine yazılır.
Döndürülenler
true
başarıyla dönüştürüldüyse s
; aksi takdirde , false
.
Şunlara uygulanır
TryParse(String, NumberStyles, IFormatProvider, Decimal)
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
- Kaynak:
- Decimal.cs
Belirtilen stili ve kültüre özgü biçimi kullanarak bir sayının dize gösterimini Decimal eşdeğerine dönüştürür. Dönüştürmenin başarılı veya başarısız olduğunu gösteren dönüş değeri.
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Decimal % result);
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Decimal % result) = System::Numerics::INumberBase<System::Decimal>::TryParse;
public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out decimal result);
public static bool TryParse (string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out decimal result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * decimal -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As Decimal) As Boolean
Parametreler
- s
- String
Dönüştürülecek sayının dize gösterimi.
- style
- NumberStyles
İzin verilen biçimini gösteren sabit listesi değerlerinin bit düzeyinde birleşimi s
. Belirtilmesi gereken tipik bir değerdir Number.
- provider
- IFormatProvider
hakkında s
kültüre özgü ayrıştırma bilgileri sağlayan bir nesne.
- result
- Decimal
Bu yöntem döndürdüğünde Decimal , içinde bulunan s
sayısal değere eşdeğer olan sayıyı, dönüştürme başarılı olursa değerini veya dönüştürme başarısız olursa sıfırı içerir. veya parametresi null
Emptyile uyumlu style
bir biçimdeki bir sayı değilse veya Decimal.MinValue değerinden küçük veya Decimal.MaxValue değerinden büyük bir sayıyı temsil ederse s
dönüştürme başarısız olur. Bu parametre başlatılmamış olarak geçirilir; başlangıçta verilen result
tüm değerlerin üzerine yazılır.
Döndürülenler
true
başarıyla dönüştürüldüyse s
; aksi takdirde , false
.
Özel durumlar
Örnekler
Aşağıdaki örnek, belirli bir stile sahip olan ve belirli bir kültürün kuralları kullanılarak biçimlendirilmiş bir sayının dize gösterimini ayrıştırmak için yönteminin kullanımını TryParse(String, NumberStyles, IFormatProvider, Decimal) gösterir.
string value;
NumberStyles style;
CultureInfo culture;
decimal number;
// Parse currency value using en-GB culture.
value = "£1,097.63";
style = NumberStyles.Number | NumberStyles.AllowCurrencySymbol;
culture = CultureInfo.CreateSpecificCulture("en-GB");
if (Decimal.TryParse(value, style, culture, out number))
Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
Console.WriteLine("Unable to convert '{0}'.", value);
// Displays:
// Converted '£1,097.63' to 1097.63.
value = "1345,978";
style = NumberStyles.AllowDecimalPoint;
culture = CultureInfo.CreateSpecificCulture("fr-FR");
if (Decimal.TryParse(value, style, culture, out number))
Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
Console.WriteLine("Unable to convert '{0}'.", value);
// Displays:
// Converted '1345,978' to 1345.978.
value = "1.345,978";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands;
culture = CultureInfo.CreateSpecificCulture("es-ES");
if (Decimal.TryParse(value, style, culture, out number))
Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
Console.WriteLine("Unable to convert '{0}'.", value);
// Displays:
// Converted '1.345,978' to 1345.978.
value = "1 345,978";
if (Decimal.TryParse(value, style, culture, out number))
Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
Console.WriteLine("Unable to convert '{0}'.", value);
// Displays:
// Unable to convert '1 345,978'.
// Parse currency value using en-GB culture.
let value = "£1,097.63"
let style = NumberStyles.Number ||| NumberStyles.AllowCurrencySymbol
let culture = CultureInfo.CreateSpecificCulture "en-GB"
match Decimal.TryParse(value, style, culture) with
| true, number ->
printfn $"Converted '{value}' to {number}."
| _ ->
printfn $"Unable to convert '{value}'."
// Displays:
// Converted '£1,097.63' to 1097.63.
let value = "1345,978"
let style = NumberStyles.AllowDecimalPoint
let culture = CultureInfo.CreateSpecificCulture "fr-FR"
match Decimal.TryParse(value, style, culture) with
| true, number ->
printfn $"Converted '{value}' to {number}."
| _ ->
printfn $"Unable to convert '{value}'."
// Displays:
// Converted '1345,978' to 1345.978.
let value = "1.345,978"
let style = NumberStyles.AllowDecimalPoint ||| NumberStyles.AllowThousands
let culture = CultureInfo.CreateSpecificCulture "es-ES"
match Decimal.TryParse(value, style, culture) with
| true, number ->
printfn $"Converted '{value}' to {number}."
| _ ->
printfn $"Unable to convert '{value}'."
// Displays:
// Converted '1.345,978' to 1345.978.
let value = "1 345,978"
match Decimal.TryParse(value, style, culture) with
| true, number ->
printfn $"Converted '{value}' to {number}."
| _ ->
printfn $"Unable to convert '{value}'."
// Displays:
// Unable to convert '1 345,978'.
Dim value As String
Dim style As NumberStyles
Dim culture As CultureInfo
Dim number As Decimal
' Parse currency value using en-GB culture.
value = "£1,097.63"
style = NumberStyles.Number Or NumberStyles.AllowCurrencySymbol
culture = CultureInfo.CreateSpecificCulture("en-GB")
If Decimal.TryParse(value, style, culture, number) Then
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
Console.WriteLine("Unable to convert '{0}'.", value)
End If
' Displays:
' Converted '£1,097.63' to 1097.63.
value = "1345,978"
style = NumberStyles.AllowDecimalPoint
culture = CultureInfo.CreateSpecificCulture("fr-FR")
If Decimal.TryParse(value, style, culture, number) Then
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
Console.WriteLine("Unable to convert '{0}'.", value)
End If
' Displays:
' Converted '1345,978' to 1345.978.
value = "1.345,978"
style = NumberStyles.AllowDecimalPoint Or NumberStyles.AllowThousands
culture = CultureInfo.CreateSpecificCulture("es-ES")
If Decimal.TryParse(value, style, culture, number) Then
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
Console.WriteLine("Unable to convert '{0}'.", value)
End If
' Displays:
' Converted '1.345,978' to 1345.978.
value = "1 345,978"
If Decimal.TryParse(value, style, culture, number) Then
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
Console.WriteLine("Unable to convert '{0}'.", value)
End If
' Displays:
' Unable to convert '1 345,978'.
Açıklamalar
Bu aşırı yükleme, ayrıştırılmış sayısal değeri döndürmek yerine ayrıştırma işleminin başarılı olup olmadığını belirten bir Boole değeri döndürerek yönteminden Decimal.Parse(String, NumberStyles, IFormatProvider) farklıdır. Geçersiz olan ve başarıyla ayrıştırılamayan bir durumunda s
test etmek için FormatException özel durum işleme kullanma gereksinimini ortadan kaldırır.
style
parametresi, ayrıştırma işleminin s
başarılı olması için parametrenin izin verilebilen biçimini tanımlar. Numaralandırmadaki NumberStyles bit bayraklarının bir bileşimi olmalıdır. Aşağıdaki NumberStyles üyeler desteklenmez:
Stilin değerine bağlı olarak, s
parametresi aşağıdaki öğeleri içerebilir:
[ws] [$] [sign] [rakamlar,]rakamlar[.kesirli-basamaklar][e[işaret]rakamlar][ws]
Köşeli ayraçlar ([ve]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tablo her öğeyi açıklar.
Öğe | Açıklama |
---|---|
Ws | İsteğe bağlı beyaz boşluk. bayrağını içeriyorsa boşluk öğesinin s style NumberStyles.AllowLeadingWhite başında görüntülenebilir. bayrağını içeriyorsa NumberStyles.AllowTrailingWhite sonunda s style görüntülenebilir. |
$ | Kültüre özgü para birimi simgesi. Dizedeki konumu, parametresinin NumberFormatInfo.CurrencyNegativePattern yöntemi provider tarafından döndürülen nesnenin NumberFormatInfo veya NumberFormatInfo.CurrencyPositivePattern özellikleri tarafından IFormatProvider.GetFormat tanımlanır. Bayrağı içeriyorsa NumberStyles.AllowCurrencySymbol para birimi simgesi içinde s style görünebilir. |
sign | İsteğe bağlı bir işaret. |
Basamak | 0 İle 9 arasında değişen bir basamak dizisi. |
. | Bir kültüre özgü ondalık nokta sembolü. |
kesirli basamaklar | 0 İle 9 arasında değişen bir basamak dizisi. |
style
parametresi parametrenin izin verilen biçimini s
belirtir ve bit düzeyinde OR işlemi kullanılarak birleştirilmiş bir veya daha fazla NumberStyles numaralandırılmış sabit olabilir. null style
ise, s
stili kullanılarak NumberStyles.Number yorumlanır.
provider
parametresi, veya CultureInfo nesnesi gibi bir IFormatProviderNumberFormatInfo uygulamadır. provider
parametresi, ayrıştırmada kullanılan kültüre özgü bilgiler sağlar. ise provider
null
, iş parçacığı geçerli kültürü kullanılır.
Nesnenin Decimal 29 basamaklı duyarlık değeri vardır. s
29'dan fazla basamağı olan, ancak kesirli bölümü olan ve aralığı MaxValueMinValueiçinde olan bir sayıyı temsil ederse, sayı yuvarlanır, yuvarlanır, kırpılmaz ve en yakına yuvarlama kullanılarak 29 basamağı olur.
Ayrıştırma işlemi sırasında parametrede s
bir ayırıcıyla karşılaşılırsa ve geçerli para birimi veya sayı ondalık ve grup ayırıcıları aynıysa, ayrıştırma işlemi ayırıcının grup ayırıcısı yerine ondalık ayırıcı olduğunu varsayar. Ayırıcılar hakkında daha fazla bilgi için bkz. CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparatorve NumberGroupSeparator.
Ayrıca bkz.
Şunlara uygulanır
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin