UInt32.Parse 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 32 bit işaretsiz tamsayı eşdeğerine dönüştürür.
Aşırı Yüklemeler
Parse(String, NumberStyles, IFormatProvider) |
Belirtilen stilde ve kültüre özgü biçimdeki bir sayının dize gösterimini 32 bit işaretsiz tamsayı eşdeğerine dönüştürür. |
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Belirtilen stilde ve kültüre özgü biçimdeki bir sayının span gösterimini 32 bit işaretsiz tamsayı eşdeğerine dönüştürür. |
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider) |
UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor. |
Parse(String, IFormatProvider) |
Belirli bir kültüre özgü biçimdeki bir sayının dize gösterimini 32 bit işaretsiz tamsayı eşdeğerine dönüştürür. |
Parse(ReadOnlySpan<Char>, IFormatProvider) |
Bir karakter aralığını bir değere ayrıştırıyor. |
Parse(ReadOnlySpan<Byte>, IFormatProvider) |
UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor. |
Parse(String) |
Bir sayının dize gösterimini 32 bit işaretsiz tamsayı eşdeğerine dönüştürür. |
Parse(String, NumberStyles) |
Belirtilen stildeki bir sayının dize gösterimini 32 bit işaretsiz tamsayı eşdeğerine dönüştürür. |
Parse(String, NumberStyles, IFormatProvider)
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
Belirtilen stilde ve kültüre özgü biçimdeki bir sayının dize gösterimini 32 bit işaretsiz tamsayı eşdeğerine dönüştürür.
public:
static System::UInt32 Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public:
static System::UInt32 Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider) = System::Numerics::INumberBase<System::UInt32>::Parse;
[System.CLSCompliant(false)]
public static uint Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
public static uint Parse (string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
[System.CLSCompliant(false)]
public static uint Parse (string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> uint32
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> uint32
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As UInteger
Parametreler
- s
- String
Dönüştürülecek sayıyı temsil eden bir dize. Dize, style
parametresi tarafından belirtilen stil kullanılarak yorumlanır.
- style
- NumberStyles
s
'de bulunabilecek stil öğelerini gösteren sabit listesi değerlerinin bit düzeyinde birleşimi. Belirtilmesi gereken tipik bir değer Integer.
- provider
- IFormatProvider
s
hakkında kültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
Döndürülenler
s
içinde belirtilen sayıya eşdeğer 32 bit işaretsiz tamsayı.
Uygulamalar
- Öznitelikler
Özel durumlar
s
null
.
style
NumberStyles bir değer değildir.
-veya-
style
, AllowHexSpecifier ve HexNumber değerlerinin birleşimi değildir.
s
, style
ile uyumlu bir biçimde değil.
s
, UInt32.MinValue veya UInt32.MaxValue'den büyük bir sayıyı temsil eder.
-veya-
s
sıfır olmayan kesirli basamaklar içerir.
Örnekler
Aşağıdaki örnek, sayıların çeşitli dize gösterimlerini 32 bit işaretsiz tamsayı değerlerine dönüştürmek için Parse(String, NumberStyles, IFormatProvider) yöntemini kullanır.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] cultureNames= { "en-US", "fr-FR" };
NumberStyles[] styles= { NumberStyles.Integer,
NumberStyles.Integer | NumberStyles.AllowDecimalPoint };
string[] values = { "170209", "+170209.0", "+170209,0", "-103214.00",
"-103214,00", "104561.1", "104561,1" };
// Parse strings using each culture
foreach (string cultureName in cultureNames)
{
CultureInfo ci = new CultureInfo(cultureName);
Console.WriteLine("Parsing strings using the {0} culture",
ci.DisplayName);
// Use each style.
foreach (NumberStyles style in styles)
{
Console.WriteLine(" Style: {0}", style.ToString());
// Parse each numeric string.
foreach (string value in values)
{
try {
Console.WriteLine(" Converted '{0}' to {1}.", value,
UInt32.Parse(value, style, ci));
}
catch (FormatException) {
Console.WriteLine(" Unable to parse '{0}'.", value);
}
catch (OverflowException) {
Console.WriteLine(" '{0}' is out of range of the UInt32 type.",
value);
}
}
}
}
}
}
// The example displays the following output:
// Parsing strings using the English (United States) culture
// Style: Integer
// Converted '170209' to 170209.
// Unable to parse '+170209.0'.
// Unable to parse '+170209,0'.
// Unable to parse '-103214.00'.
// Unable to parse '-103214,00'.
// Unable to parse '104561.1'.
// Unable to parse '104561,1'.
// Style: Integer, AllowDecimalPoint
// Converted '170209' to 170209.
// Converted '+170209.0' to 170209.
// Unable to parse '+170209,0'.
// '-103214.00' is out of range of the UInt32 type.
// Unable to parse '-103214,00'.
// '104561.1' is out of range of the UInt32 type.
// Unable to parse '104561,1'.
// Parsing strings using the French (France) culture
// Style: Integer
// Converted '170209' to 170209.
// Unable to parse '+170209.0'.
// Unable to parse '+170209,0'.
// Unable to parse '-103214.00'.
// Unable to parse '-103214,00'.
// Unable to parse '104561.1'.
// Unable to parse '104561,1'.
// Style: Integer, AllowDecimalPoint
// Converted '170209' to 170209.
// Unable to parse '+170209.0'.
// Converted '+170209,0' to 170209.
// Unable to parse '-103214.00'.
// '-103214,00' is out of range of the UInt32 type.
// Unable to parse '104561.1'.
// '104561,1' is out of range of the UInt32 type.
open System
open System.Globalization
let cultureNames = [| "en-US"; "fr-FR" |]
let styles =
[| NumberStyles.Integer; NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint |]
let values =
[| "170209"; "+170209.0"; "+170209,0"; "-103214.00"; "-103214,00"; "104561.1"; "104561,1" |]
// Parse strings using each culture
for cultureName in cultureNames do
let ci = CultureInfo cultureName
printfn $"Parsing strings using the {ci.DisplayName} culture"
// Use each style.
for style in styles do
printfn $" Style: {style}"
// Parse each numeric string.
for value in values do
try
printfn $" Converted '{value}' to {UInt32.Parse(value, style, ci)}."
with
| :? FormatException ->
printfn $" Unable to parse '{value}'."
| :? OverflowException ->
printfn $" '{value}' is out of range of the UInt32 type."
// The example displays the following output:
// Parsing strings using the English (United States) culture
// Style: Integer
// Converted '170209' to 170209.
// Unable to parse '+170209.0'.
// Unable to parse '+170209,0'.
// Unable to parse '-103214.00'.
// Unable to parse '-103214,00'.
// Unable to parse '104561.1'.
// Unable to parse '104561,1'.
// Style: Integer, AllowDecimalPoint
// Converted '170209' to 170209.
// Converted '+170209.0' to 170209.
// Unable to parse '+170209,0'.
// '-103214.00' is out of range of the UInt32 type.
// Unable to parse '-103214,00'.
// '104561.1' is out of range of the UInt32 type.
// Unable to parse '104561,1'.
// Parsing strings using the French (France) culture
// Style: Integer
// Converted '170209' to 170209.
// Unable to parse '+170209.0'.
// Unable to parse '+170209,0'.
// Unable to parse '-103214.00'.
// Unable to parse '-103214,00'.
// Unable to parse '104561.1'.
// Unable to parse '104561,1'.
// Style: Integer, AllowDecimalPoint
// Converted '170209' to 170209.
// Unable to parse '+170209.0'.
// Converted '+170209,0' to 170209.
// Unable to parse '-103214.00'.
// '-103214,00' is out of range of the UInt32 type.
// Unable to parse '104561.1'.
// '104561,1' is out of range of the UInt32 type.
Imports System.Globalization
Module Example
Public Sub Main()
Dim cultureNames() As String = { "en-US", "fr-FR" }
Dim styles() As NumberStyles = { NumberStyles.Integer, _
NumberStyles.Integer Or NumberStyles.AllowDecimalPoint }
Dim values() As String = { "170209", "+170209.0", "+170209,0", "-103214.00", _
"-103214,00", "104561.1", "104561,1" }
' Parse strings using each culture
For Each cultureName As String In cultureNames
Dim ci As New CultureInfo(cultureName)
Console.WriteLine("Parsing strings using the {0} culture", ci.DisplayName)
' Use each style.
For Each style As NumberStyles In styles
Console.WriteLine(" Style: {0}", style.ToString())
' Parse each numeric string.
For Each value As String In values
Try
Console.WriteLine(" Converted '{0}' to {1}.", value, _
UInt32.Parse(value, style, ci))
Catch e As FormatException
Console.WriteLine(" Unable to parse '{0}'.", value)
Catch e As OverflowException
Console.WriteLine(" '{0}' is out of range of the UInt32 type.", _
value)
End Try
Next
Next
Next
End Sub
End Module
' The example displays the following output:
' Parsing strings using the English (United States) culture
' Style: Integer
' Converted '170209' to 170209.
' Unable to parse '+170209.0'.
' Unable to parse '+170209,0'.
' Unable to parse '-103214.00'.
' Unable to parse '-103214,00'.
' Unable to parse '104561.1'.
' Unable to parse '104561,1'.
' Style: Integer, AllowDecimalPoint
' Converted '170209' to 170209.
' Converted '+170209.0' to 170209.
' Unable to parse '+170209,0'.
' '-103214.00' is out of range of the UInt32 type.
' Unable to parse '-103214,00'.
' '104561.1' is out of range of the UInt32 type.
' Unable to parse '104561,1'.
' Parsing strings using the French (France) culture
' Style: Integer
' Converted '170209' to 170209.
' Unable to parse '+170209.0'.
' Unable to parse '+170209,0'.
' Unable to parse '-103214.00'.
' Unable to parse '-103214,00'.
' Unable to parse '104561.1'.
' Unable to parse '104561,1'.
' Style: Integer, AllowDecimalPoint
' Converted '170209' to 170209.
' Unable to parse '+170209.0'.
' Converted '+170209,0' to 170209.
' Unable to parse '-103214.00'.
' '-103214,00' is out of range of the UInt32 type.
' Unable to parse '104561.1'.
' '104561,1' is out of range of the UInt32 type.
Açıklamalar
style
parametresi, ayrıştırma işleminin başarılı olması için s
parametresinde izin verilen stil öğelerini (boşluk veya pozitif veya negatif işaret simgesi gibi) tanımlar.
NumberStyles numaralandırmasından bit bayraklarının birleşimi olmalıdır.
style
değerine bağlı olarak, s
parametresi aşağıdaki öğeleri içerebilir:
[ws] [$] [sign]basamak[.fractional_digits][E[sign]exponential_digits][ws]
Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır.
style
NumberStyles.AllowHexSpecifieriçeriyorsa, s
parametresi aşağıdaki öğeleri içerebilir:
[ws]hexdigits[ws]
Aşağıdaki tabloda her öğe açıklanmaktadır.
Öğe | Açıklama |
---|---|
ws | İsteğe bağlı boşluk.
style
NumberStyles.AllowLeadingWhite bayrağı içeriyorsa boşluk s başında ve style NumberStyles.AllowTrailingWhite bayrağı içeriyorsa s sonunda görüntülenebilir. |
$ | Kültüre özgü para birimi simgesi. Dizedeki konumu, provider parametresinin GetFormat yöntemi tarafından döndürülen NumberFormatInfo nesnesinin CurrencyPositivePattern özelliği tarafından tanımlanır. para birimi simgesi, style NumberStyles.AllowCurrencySymbol bayrağı içeriyorsa s görünebilir. |
imzalama | İsteğe bağlı bir işaret. (yöntem, s negatif bir işaret içeriyorsa ve sıfır olmayan bir sayıyı temsil ederse bir OverflowException oluşturur.) İşaret, style NumberStyles.AllowLeadingSign bayrağı içeriyorsa s başında ve style NumberStyles.AllowTrailingSign bayrağı içeriyorsa s sonunda görünebilir.
style
NumberStyles.AllowParentheses bayrağı içeriyorsa, negatif bir değeri belirtmek için s 'de parantezler kullanılabilir. |
basamak | 0 ile 9 arasında bir basamak dizisi. |
. | Kültüre özgü ondalık nokta simgesi.
style
NumberStyles.AllowDecimalPoint bayrağı içeriyorsa geçerli kültürün ondalık noktası simgesi s görünebilir. |
fractional_digits |
style
NumberStyles.AllowExponent bayrağı içeriyorsa 0-9 basamaklarının bir veya daha fazla tekrarı veya değilse 0 rakamının bir veya daha fazla yinelenme sayısı. Kesirli basamaklar s yalnızca style NumberStyles.AllowDecimalPoint bayrağı içeriyorsa görüntülenebilir. |
E | Değerin üstel (bilimsel) gösterimde temsil olduğunu gösteren "e" veya "E" karakteri.
s parametresi, style NumberStyles.AllowExponent bayrağı içeriyorsa, bir sayıyı üstel gösterimde temsil edebilir. |
exponential_digits | 0 ile 9 arasında bir basamak dizisi.
s parametresi, style NumberStyles.AllowExponent bayrağı içeriyorsa, bir sayıyı üstel gösterimde temsil edebilir. |
hexdigits | 0'dan f'ye veya 0'dan F'ye kadar onaltılık basamak dizisi. |
Not
s
sonlandırıcı NUL (U+0000) karakterleri, style
bağımsız değişkeninin değerinden bağımsız olarak ayrıştırma işlemi tarafından yoksayılır.
Yalnızca ondalık basamağı olan bir dize (NumberStyles.None stiline karşılık gelir) her zaman başarıyla ayrıştırılıyor. Kalan NumberStyles üyelerinin çoğu, bu giriş dizesinde mevcut olabilecek ancak mevcut olması gerekmeyen öğeleri denetler. Aşağıdaki tablo, tek tek NumberStyles üyelerinin s
'de mevcut olabilecek öğeleri nasıl etkilediğini gösterir.
Bileşik olmayan NumberStyles değerleri |
Basamaklara ek olarak s izin verilen öğeler |
---|---|
NumberStyles.None | Yalnızca ondalık basamaklar. |
NumberStyles.AllowDecimalPoint | Ondalık nokta (.) ve fractional_digits öğeleri. Ancak, stil NumberStyles.AllowExponent bayrağı içermiyorsa, fractional_digits yalnızca bir veya daha fazla 0 basamak içermelidir; aksi takdirde, bir OverflowException oluşturulur. |
NumberStyles.AllowExponent | exponential_digitsile birlikte üstel gösterimi gösteren "e" veya "E" karakteri. |
NumberStyles.AllowLeadingWhite |
s başındaki ws öğesi. |
NumberStyles.AllowTrailingWhite |
s sonundaki ws öğesi. |
NumberStyles.AllowLeadingSign | basamakönce bir işaret. |
NumberStyles.AllowTrailingSign | |
NumberStyles.AllowParentheses | basamaklardan önce ve sonra ayraçlar, negatif bir değeri göstermek için. |
NumberStyles.AllowThousands | Grup ayırıcısı (,) öğesi. |
NumberStyles.AllowCurrencySymbol | Para birimi ($) öğesi. |
NumberStyles.AllowHexSpecifier bayrağı kullanılırsa, s
onaltılık bir değer olmalıdır. Bununla birleştirilebilen diğer bayraklar yalnızca NumberStyles.AllowLeadingWhite ve NumberStyles.AllowTrailingWhite. (NumberStyles numaralandırması, her iki boşluk bayrağını da içeren NumberStyles.HexNumberbileşik bir sayı stili içerir.)
Not
s
parametresi onaltılık bir sayının dize gösterimiyse, bu parametreden önce onu onaltılık sayı olarak ayıran herhangi bir süsleme (0x
veya &h
gibi) bulunamaz. Bu, ayrıştırma işleminin bir özel durum oluşturmasına neden olur.
provider
parametresi, GetFormat yöntemi s
biçimi hakkında kültüre özgü bilgiler sağlayan bir NumberFormatInfo nesnesi döndüren IFormatProvider bir uygulamadır. Ayrıştırma işlemine özel biçimlendirme bilgileri sağlamak için provider
parametresini kullanmanın üç yolu vardır:
Biçimlendirme bilgileri sağlayan gerçek NumberFormatInfo nesnesini geçirebilirsiniz. (GetFormat uygulaması yalnızca kendini döndürür.)
Biçimlendirmesi kullanılacak kültürü belirten bir CultureInfo nesnesi geçirebilirsiniz. NumberFormat özelliği biçimlendirme bilgileri sağlar.
Özel bir IFormatProvider uygulaması geçirebilirsiniz. GetFormat yöntemi, biçimlendirme bilgileri sağlayan NumberFormatInfo nesnesini örneklemeli ve döndürmelidir.
provider
null
ise, geçerli kültür için NumberFormatInfo nesnesi kullanılır.
Ayrıca bkz.
- ToString()
- .NET'da Sayısal Dizeleri Ayrıştırma
Şunlara uygulanır
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
Önemli
Bu API, CLS uyumlu değildir.
Belirtilen stilde ve kültüre özgü biçimdeki bir sayının span gösterimini 32 bit işaretsiz tamsayı eşdeğerine dönüştürür.
public static uint Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
[System.CLSCompliant(false)]
public static uint Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = default);
[System.CLSCompliant(false)]
public static uint Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> uint32
[<System.CLSCompliant(false)>]
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> uint32
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As UInteger
Parametreler
- s
- ReadOnlySpan<Char>
Dönüştürülecek sayıyı temsil eden karakterleri içeren bir yayılma alanı. Span, style
parametresi tarafından belirtilen stil kullanılarak yorumlanır.
- style
- NumberStyles
s
'de bulunabilecek stil öğelerini gösteren sabit listesi değerlerinin bit düzeyinde birleşimi. Belirtilmesi gereken tipik bir değer Integer.
- provider
- IFormatProvider
s
hakkında kültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
Döndürülenler
s
içinde belirtilen sayıya eşdeğer 32 bit işaretsiz tamsayı.
Uygulamalar
- Öznitelikler
Şunlara uygulanır
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor.
public static uint Parse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider -> uint32
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As UInteger
Parametreler
- utf8Text
- ReadOnlySpan<Byte>
Ayrıştırılacak UTF-8 karakter aralığı.
- style
- NumberStyles
utf8Text
içinde bulunabilecek sayı stillerinin bit düzeyinde birleşimi.
- provider
- IFormatProvider
utf8Text
hakkında kültüre özgü biçimlendirme bilgileri sağlayan nesne.
Döndürülenler
utf8Text
ayrıştırma sonucu.
Uygulamalar
Şunlara uygulanır
Parse(String, IFormatProvider)
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
Belirli bir kültüre özgü biçimdeki bir sayının dize gösterimini 32 bit işaretsiz tamsayı eşdeğerine dönüştürür.
public:
static System::UInt32 Parse(System::String ^ s, IFormatProvider ^ provider);
public:
static System::UInt32 Parse(System::String ^ s, IFormatProvider ^ provider) = IParsable<System::UInt32>::Parse;
[System.CLSCompliant(false)]
public static uint Parse (string s, IFormatProvider provider);
public static uint Parse (string s, IFormatProvider? provider);
[System.CLSCompliant(false)]
public static uint Parse (string s, IFormatProvider? provider);
[<System.CLSCompliant(false)>]
static member Parse : string * IFormatProvider -> uint32
static member Parse : string * IFormatProvider -> uint32
Public Shared Function Parse (s As String, provider As IFormatProvider) As UInteger
Parametreler
- s
- String
Dönüştürülecek sayıyı temsil eden dize.
- provider
- IFormatProvider
s
hakkında kültüre özgü biçimlendirme bilgileri sağlayan bir nesne.
Döndürülenler
s
içinde belirtilen sayıya eşdeğer 32 bit işaretsiz tamsayı.
Uygulamalar
- Öznitelikler
Özel durumlar
s
null
.
s
doğru stilde değil.
s
, UInt32.MinValue veya UInt32.MaxValue'den büyük bir sayıyı temsil eder.
Örnekler
Aşağıdaki örnek, web formunun düğme tıklama olay işleyicisidir. Kullanıcının yerel ayarını belirlemek için HttpRequest.UserLanguages özelliği tarafından döndürülen diziyi kullanır. Ardından bu yerel ayara karşılık gelen bir CultureInfo nesnesi örneği oluşturur. Bu CultureInfo nesnesine ait NumberFormatInfo nesnesi, kullanıcının girişini UInt32 bir değere dönüştürmek için Parse(String, IFormatProvider) yöntemine geçirilir.
protected void OkToUInteger_Click(object sender, EventArgs e)
{
string locale;
uint 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 = UInt32.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 OKToUInteger_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OKToUInteger.Click
Dim locale As String
Dim culture As CultureInfo
Dim number As UInteger
' 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 = UInt32.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
Açıklamalar
s
parametresi formun bir sayısını içerir:
[ws] [sign]rakamlar[ws]
Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tabloda her öğe açıklanmaktadır.
Öğe | Açıklama |
---|---|
ws | İsteğe bağlı boşluk. |
imzalama | sıfır değerini temsil s isteğe bağlı bir işaret veya negatif bir işaret. |
basamak | 0 ile 9 arasında bir basamak dizisi. |
s parametresi NumberStyles.Integer stili kullanılarak yorumlanır. İşaretsiz tamsayı değerinin ondalık basamaklarına ek olarak, yalnızca baştaki ve sondaki boşluklara ve baştaki işarete izin verilir. (Negatif işareti varsa, s
sıfır değerini temsil etmelidir veya yöntem bir OverflowExceptionoluşturur.) stil öğelerini s
içinde bulunabilecek kültüre özgü biçimlendirme bilgileriyle birlikte açıkça tanımlamak için Parse(String, NumberStyles, IFormatProvider) yöntemini kullanın.
provider
parametresi, GetFormat yöntemi s
biçimi hakkında kültüre özgü bilgiler sağlayan bir NumberFormatInfo nesnesi döndüren IFormatProvider bir uygulamadır. Ayrıştırma işlemine özel biçimlendirme bilgileri sağlamak için provider
parametresini kullanmanın üç yolu vardır:
Biçimlendirme bilgileri sağlayan gerçek NumberFormatInfo nesnesini geçirebilirsiniz. (GetFormat uygulaması yalnızca kendini döndürür.)
Biçimlendirmesi kullanılacak kültürü belirten bir CultureInfo nesnesi geçirebilirsiniz. NumberFormat özelliği biçimlendirme bilgileri sağlar.
Özel bir IFormatProvider uygulaması geçirebilirsiniz. GetFormat yöntemi, biçimlendirme bilgileri sağlayan NumberFormatInfo nesnesini örneklemeli ve döndürmelidir.
provider
null
ise, geçerli kültürün NumberFormatInfo kullanılır.
Ayrıca bkz.
- ToString()
- TryParse
- .NET'da Sayısal Dizeleri Ayrıştırma
Şunlara uygulanır
Parse(ReadOnlySpan<Char>, IFormatProvider)
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
Bir karakter aralığını bir değere ayrıştırıyor.
public:
static System::UInt32 Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<System::UInt32>::Parse;
public static uint Parse (ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> uint32
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As UInteger
Parametreler
- s
- ReadOnlySpan<Char>
Ayrıştırılacak karakterlerin yayılma alanı.
- provider
- IFormatProvider
s
hakkında kültüre özgü biçimlendirme bilgileri sağlayan nesne.
Döndürülenler
s
ayrıştırma sonucu.
Uygulamalar
Şunlara uygulanır
Parse(ReadOnlySpan<Byte>, IFormatProvider)
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
UTF-8 karakterlik bir aralığı bir değere ayrıştırıyor.
public:
static System::UInt32 Parse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider) = IUtf8SpanParsable<System::UInt32>::Parse;
public static uint Parse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);
static member Parse : ReadOnlySpan<byte> * IFormatProvider -> uint32
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider) As UInteger
Parametreler
- utf8Text
- ReadOnlySpan<Byte>
Ayrıştırılacak UTF-8 karakter aralığı.
- provider
- IFormatProvider
utf8Text
hakkında kültüre özgü biçimlendirme bilgileri sağlayan nesne.
Döndürülenler
utf8Text
ayrıştırma sonucu.
Uygulamalar
Şunlara uygulanır
Parse(String)
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
Bir sayının dize gösterimini 32 bit işaretsiz tamsayı eşdeğerine dönüştürür.
public:
static System::UInt32 Parse(System::String ^ s);
[System.CLSCompliant(false)]
public static uint Parse (string s);
public static uint Parse (string s);
[<System.CLSCompliant(false)>]
static member Parse : string -> uint32
static member Parse : string -> uint32
Public Shared Function Parse (s As String) As UInteger
Parametreler
- s
- String
Dönüştürülecek sayıyı temsil eden bir dize.
Döndürülenler
s
içinde yer alan sayıya eşdeğer 32 bit işaretsiz tamsayı.
- Öznitelikler
Özel durumlar
s
parametresi null
.
s
parametresi doğru biçimde değil.
Örnekler
Aşağıdaki örnek, dize değerleri dizisini ayrıştırmak için Parse(String) yöntemini kullanır.
string[] values = { "+13230", "-0", "1,390,146", "$190,235,421,127",
"0xFA1B", "163042", "-10", "2147483648",
"14065839182", "16e07", "134985.0", "-12034" };
foreach (string value in values)
{
try {
uint number = UInt32.Parse(value);
Console.WriteLine("{0} --> {1}", value, number);
}
catch (FormatException) {
Console.WriteLine("{0}: Bad Format", value);
}
catch (OverflowException) {
Console.WriteLine("{0}: Overflow", value);
}
}
// The example displays the following output:
// +13230 --> 13230
// -0 --> 0
// 1,390,146: Bad Format
// $190,235,421,127: Bad Format
// 0xFA1B: Bad Format
// 163042 --> 163042
// -10: Overflow
// 2147483648 --> 2147483648
// 14065839182: Overflow
// 16e07: Bad Format
// 134985.0: Bad Format
// -12034: Overflow
open System
let values =
[| "+13230"; "-0"; "1,390,146"; "$190,235,421,127"
"0xFA1B"; "163042"; "-10"; "2147483648"
"14065839182"; "16e07"; "134985.0"; "-12034" |]
for value in values do
try
let number = UInt32.Parse value
printfn $"{value} --> {number}"
with
| :? FormatException ->
printfn $"{value}: Bad Format"
| :? OverflowException ->
printfn $"{value}: Overflow"
// The example displays the following output:
// +13230 --> 13230
// -0 --> 0
// 1,390,146: Bad Format
// $190,235,421,127: Bad Format
// 0xFA1B: Bad Format
// 163042 --> 163042
// -10: Overflow
// 2147483648 --> 2147483648
// 14065839182: Overflow
// 16e07: Bad Format
// 134985.0: Bad Format
// -12034: Overflow
Dim values() As String = { "+13230", "-0", "1,390,146", "$190,235,421,127",
"0xFA1B", "163042", "-10", "2147483648",
"14065839182", "16e07", "134985.0", "-12034" }
For Each value As String In values
Try
Dim number As UInteger = UInt32.Parse(value)
Console.WriteLine("{0} --> {1}", value, number)
Catch e As FormatException
Console.WriteLine("{0}: Bad Format", value)
Catch e As OverflowException
Console.WriteLine("{0}: Overflow", value)
End Try
Next
' The example displays the following output:
' +13230 --> 13230
' -0 --> 0
' 1,390,146: Bad Format
' $190,235,421,127: Bad Format
' 0xFA1B: Bad Format
' 163042 --> 163042
' -10: Overflow
' 2147483648 --> 2147483648
' 14065839182: Overflow
' 16e07: Bad Format
' 134985.0: Bad Format
' -12034: Overflow
Açıklamalar
s
parametresi, aşağıdaki biçimdeki bir sayının dize gösterimi olmalıdır.
[ws] [sign]rakamlar[ws]
Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır. Aşağıdaki tabloda her öğe açıklanmaktadır.
Öğe | Açıklama |
---|---|
ws | İsteğe bağlı boşluk. |
imzalama | İsteğe bağlı bir işaret. Geçerli işaret karakterleri geçerli kültürün NumberFormatInfo.NegativeSign ve NumberFormatInfo.PositiveSign özellikleri tarafından belirlenir. Ancak, negatif işaret simgesi yalnızca sıfır ile kullanılabilir; aksi takdirde, yöntemi bir OverflowExceptionoluşturur. |
basamak | 0 ile 9 arasında bir basamak dizisi. Baştaki sıfırlar yoksayılır. |
Not
s
parametresi tarafından belirtilen dize, NumberStyles.Integer stili kullanılarak yorumlanır. Hiçbir grup ayırıcısı veya ondalık ayırıcı içeremez ve ondalık bölümü olamaz.
s
parametresi, geçerli sistem kültürü için başlatılan bir System.Globalization.NumberFormatInfo nesnesindeki biçimlendirme bilgileri kullanılarak ayrıştırılır. Daha fazla bilgi için bkz. NumberFormatInfo.CurrentInfo. Belirli bir kültürün biçimlendirme bilgilerini kullanarak bir dizeyi ayrıştırmak için Parse(String, IFormatProvider) yöntemini kullanın.
Ayrıca bkz.
- ToString()
- .NET'da Sayısal Dizeleri Ayrıştırma
Şunlara uygulanır
Parse(String, NumberStyles)
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
- Kaynak:
- UInt32.cs
Belirtilen stildeki bir sayının dize gösterimini 32 bit işaretsiz tamsayı eşdeğerine dönüştürür.
public:
static System::UInt32 Parse(System::String ^ s, System::Globalization::NumberStyles style);
[System.CLSCompliant(false)]
public static uint Parse (string s, System.Globalization.NumberStyles style);
public static uint Parse (string s, System.Globalization.NumberStyles style);
[<System.CLSCompliant(false)>]
static member Parse : string * System.Globalization.NumberStyles -> uint32
static member Parse : string * System.Globalization.NumberStyles -> uint32
Public Shared Function Parse (s As String, style As NumberStyles) As UInteger
Parametreler
- s
- String
Dönüştürülecek sayıyı temsil eden bir dize. Dize, style
parametresi tarafından belirtilen stil kullanılarak yorumlanır.
- style
- NumberStyles
s
izin verilen biçimini belirten sabit listesi değerlerinin bit düzeyinde birleşimi. Belirtilmesi gereken tipik bir değer Integer.
Döndürülenler
s
içinde belirtilen sayıya eşdeğer 32 bit işaretsiz tamsayı.
- Öznitelikler
Özel durumlar
s
null
.
style
NumberStyles bir değer değildir.
-veya-
style
, AllowHexSpecifier ve HexNumber değerlerinin birleşimi değildir.
s
, style
ile uyumlu bir biçimde değil.
s
, UInt32.MinValue veya UInt32.MaxValue'den büyük bir sayıyı temsil eder.
-veya-
s
sıfır olmayan kesirli basamaklar içerir.
Örnekler
Aşağıdaki örnek, bir dizi NumberStyles değeri kullanarak bir dize dizisindeki her öğeyi ayrıştırmaya çalışır.
using System;
using System.Globalization;
public class Example
{
public static void Main()
{
string[] values= { " 214309 ", "1,064,181", "(0)", "10241+", " + 21499 ",
" +21499 ", "122153.00", "1e03ff", "91300.0e-2" };
NumberStyles whitespace = NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite;
NumberStyles[] styles= { NumberStyles.None, whitespace,
NumberStyles.AllowLeadingSign | NumberStyles.AllowTrailingSign | whitespace,
NumberStyles.AllowThousands | NumberStyles.AllowCurrencySymbol,
NumberStyles.AllowExponent | NumberStyles.AllowDecimalPoint };
// Attempt to convert each number using each style combination.
foreach (string value in values)
{
Console.WriteLine("Attempting to convert '{0}':", value);
foreach (NumberStyles style in styles)
{
try {
uint number = UInt32.Parse(value, style);
Console.WriteLine(" {0}: {1}", style, number);
}
catch (FormatException) {
Console.WriteLine(" {0}: Bad Format", style);
}
catch (OverflowException)
{
Console.WriteLine(" {0}: Overflow", value);
}
}
Console.WriteLine();
}
}
}
// The example displays the following output:
// Attempting to convert ' 214309 ':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: 214309
// Integer, AllowTrailingSign: 214309
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert '1,064,181':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: 1064181
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert '(0)':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert '10241+':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: 10241
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert ' + 21499 ':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert ' +21499 ':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: 21499
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert '122153.00':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: 122153
//
// Attempting to convert '1e03ff':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert '91300.0e-2':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: 913
open System
open System.Globalization
let values =
[| " 214309 "; "1,064,181"; "(0)"; "10241+"; " + 21499 "
" +21499 "; "122153.00"; "1e03ff"; "91300.0e-2" |]
let whitespace = NumberStyles.AllowLeadingWhite ||| NumberStyles.AllowTrailingWhite
let styles =
[| NumberStyles.None; whitespace
NumberStyles.AllowLeadingSign ||| NumberStyles.AllowTrailingSign ||| whitespace
NumberStyles.AllowThousands ||| NumberStyles.AllowCurrencySymbol
NumberStyles.AllowExponent ||| NumberStyles.AllowDecimalPoint |]
// Attempt to convert each number using each style combination.
for value in values do
printfn $"Attempting to convert '{value}':"
for style in styles do
try
let number = UInt32.Parse(value, style)
printfn $" {style}: {number}"
with
| :? FormatException ->
printfn $" {style}: Bad Format"
| :? OverflowException ->
printfn $" {value}: Overflow"
printfn ""
// The example displays the following output:
// Attempting to convert ' 214309 ':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: 214309
// Integer, AllowTrailingSign: 214309
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert '1,064,181':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: 1064181
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert '(0)':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert '10241+':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: 10241
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert ' + 21499 ':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert ' +21499 ':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: 21499
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert '122153.00':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: 122153
//
// Attempting to convert '1e03ff':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: Bad Format
//
// Attempting to convert '91300.0e-2':
// None: Bad Format
// AllowLeadingWhite, AllowTrailingWhite: Bad Format
// Integer, AllowTrailingSign: Bad Format
// AllowThousands, AllowCurrencySymbol: Bad Format
// AllowDecimalPoint, AllowExponent: 913
Imports System.Globalization
Module Example
Public Sub Main()
Dim values() As String = { " 214309 ", "1,064,181", "(0)", "10241+", _
" + 21499 ", " +21499 ", "122153.00", _
"1e03ff", "91300.0e-2" }
Dim whitespace As NumberStyles = NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite
Dim styles() As NumberStyles = { NumberStyles.None, _
whitespace, _
NumberStyles.AllowLeadingSign Or NumberStyles.AllowTrailingSign Or whitespace, _
NumberStyles.AllowThousands Or NumberStyles.AllowCurrencySymbol, _
NumberStyles.AllowExponent Or NumberStyles.AllowDecimalPoint }
' Attempt to convert each number using each style combination.
For Each value As String In values
Console.WriteLine("Attempting to convert '{0}':", value)
For Each style As NumberStyles In styles
Try
Dim number As UInteger = UInt32.Parse(value, style)
Console.WriteLine(" {0}: {1}", style, number)
Catch e As FormatException
Console.WriteLine(" {0}: Bad Format", style)
Catch e As OverflowException
Console.WriteLine(" {0}: Overflow", value)
End Try
Next
Console.WriteLine()
Next
End Sub
End Module
' The example displays the following output:
' Attempting to convert ' 214309 ':
' None: Bad Format
' AllowLeadingWhite, AllowTrailingWhite: 214309
' Integer, AllowTrailingSign: 214309
' AllowThousands, AllowCurrencySymbol: Bad Format
' AllowDecimalPoint, AllowExponent: Bad Format
'
' Attempting to convert '1,064,181':
' None: Bad Format
' AllowLeadingWhite, AllowTrailingWhite: Bad Format
' Integer, AllowTrailingSign: Bad Format
' AllowThousands, AllowCurrencySymbol: 1064181
' AllowDecimalPoint, AllowExponent: Bad Format
'
' Attempting to convert '(0)':
' None: Bad Format
' AllowLeadingWhite, AllowTrailingWhite: Bad Format
' Integer, AllowTrailingSign: Bad Format
' AllowThousands, AllowCurrencySymbol: Bad Format
' AllowDecimalPoint, AllowExponent: Bad Format
'
' Attempting to convert '10241+':
' None: Bad Format
' AllowLeadingWhite, AllowTrailingWhite: Bad Format
' Integer, AllowTrailingSign: 10241
' AllowThousands, AllowCurrencySymbol: Bad Format
' AllowDecimalPoint, AllowExponent: Bad Format
'
' Attempting to convert ' + 21499 ':
' None: Bad Format
' AllowLeadingWhite, AllowTrailingWhite: Bad Format
' Integer, AllowTrailingSign: Bad Format
' AllowThousands, AllowCurrencySymbol: Bad Format
' AllowDecimalPoint, AllowExponent: Bad Format
'
' Attempting to convert ' +21499 ':
' None: Bad Format
' AllowLeadingWhite, AllowTrailingWhite: Bad Format
' Integer, AllowTrailingSign: 21499
' AllowThousands, AllowCurrencySymbol: Bad Format
' AllowDecimalPoint, AllowExponent: Bad Format
'
' Attempting to convert '122153.00':
' None: Bad Format
' AllowLeadingWhite, AllowTrailingWhite: Bad Format
' Integer, AllowTrailingSign: Bad Format
' AllowThousands, AllowCurrencySymbol: Bad Format
' AllowDecimalPoint, AllowExponent: 122153
'
' Attempting to convert '1e03ff':
' None: Bad Format
' AllowLeadingWhite, AllowTrailingWhite: Bad Format
' Integer, AllowTrailingSign: Bad Format
' AllowThousands, AllowCurrencySymbol: Bad Format
' AllowDecimalPoint, AllowExponent: Bad Format
'
' Attempting to convert '91300.0e-2':
' None: Bad Format
' AllowLeadingWhite, AllowTrailingWhite: Bad Format
' Integer, AllowTrailingSign: Bad Format
' AllowThousands, AllowCurrencySymbol: Bad Format
' AllowDecimalPoint, AllowExponent: 913
Açıklamalar
style
parametresi, ayrıştırma işleminin başarılı olması için s
parametresinde izin verilen stil öğelerini (boşluk, pozitif veya negatif işaret simgesi, grup ayırıcı simgesi veya ondalık nokta simgesi gibi) tanımlar.
style
, NumberStyles sabit listesindeki bit bayraklarının bir bileşimi olmalıdır.
style
parametresi, s
onaltılık değerin dize gösterimini içerdiğinde, s
tarafından temsil edilen sayı sistemi (ondalık veya onaltılık) yalnızca çalışma zamanında bilindiğinde veya s
boşluk veya işaret simgesine izin vermek istemediğinizde bu yöntem aşırı yüklemesini kullanışlı hale getirir.
style
değerine bağlı olarak, s
parametresi aşağıdaki öğeleri içerebilir:
[ws] [$] [sign] [basamak,]basamak[.fractional_digits][E[sign]exponential_digits][ws]
Köşeli ayraç ([ ve ]) içindeki öğeler isteğe bağlıdır.
style
NumberStyles.AllowHexSpecifieriçeriyorsa, s
parametresi aşağıdaki öğeleri içerebilir:
[ws]hexdigits[ws]
Aşağıdaki tabloda her öğe açıklanmaktadır.
Öğe | Açıklama |
---|---|
ws | İsteğe bağlı boşluk.
style
NumberStyles.AllowLeadingWhite bayrağı içeriyorsa boşluk s başında ve style NumberStyles.AllowTrailingWhite bayrağı içeriyorsa s sonunda görüntülenebilir. |
$ | Kültüre özgü para birimi simgesi. Dizedeki konumu, geçerli kültürün NumberFormatInfo.CurrencyNegativePattern ve NumberFormatInfo.CurrencyPositivePattern özellikleri tarafından tanımlanır.
style
NumberStyles.AllowCurrencySymbol bayrağı içeriyorsa geçerli kültürün para birimi simgesi s görünebilir. |
imzalama | İsteğe bağlı bir işaret. İşaret, style NumberStyles.AllowLeadingSign bayrağı içeriyorsa s başında ve style NumberStyles.AllowTrailingSign bayrağı içeriyorsa s sonunda görüntülenebilir.
style
NumberStyles.AllowParentheses bayrağı içeriyorsa, negatif bir değeri belirtmek için s 'de parantezler kullanılabilir. Ancak, negatif işaret simgesi yalnızca sıfır ile kullanılabilir; aksi takdirde, yöntemi bir OverflowExceptionoluşturur. |
basamak fractional_digits exponential_digits |
0 ile 9 arasında bir basamak dizisi. fractional_digitsiçin yalnızca 0 rakamı geçerlidir. |
, | Kültüre özgü grup ayırıcı simgesi.
style
NumberStyles.AllowThousands bayrağı içeriyorsa, geçerli kültürün grup ayırıcısı s görünebilir. |
. | Kültüre özgü ondalık nokta simgesi.
style
NumberStyles.AllowDecimalPoint bayrağı içeriyorsa geçerli kültürün ondalık noktası simgesi s görünebilir. Ayrıştırma işleminin başarılı olması için yalnızca 0 rakamı kesirli basamak olarak görünebilir; fractional_digits başka bir basamak içeriyorsa, bir FormatException oluşturulur. |
E | Değerin üstel (bilimsel) gösterimde temsil olduğunu gösteren "e" veya "E" karakteri.
s parametresi, style NumberStyles.AllowExponent bayrağı içeriyorsa, bir sayıyı üstel gösterimde temsil edebilir. |
hexdigits | 0'dan f'ye veya 0'dan F'ye kadar onaltılık basamak dizisi. |
Not
s
sonlandırıcı NUL (U+0000) karakterleri, style
bağımsız değişkeninin değerinden bağımsız olarak ayrıştırma işlemi tarafından yoksayılır.
Yalnızca basamak içeren bir dize (NumberStyles.None stiline karşılık gelir) UInt32 türü aralığındaysa her zaman başarıyla ayrıştırılır. Geri kalan NumberStyles üyelerinin çoğu, giriş dizesinde mevcut olabilecek ancak mevcut olması gerekmeyen öğeleri denetler. Aşağıdaki tablo, tek tek NumberStyles üyelerinin s
'de mevcut olabilecek öğeleri nasıl etkilediğini gösterir.
NumberStyles değeri |
Basamaklara ek olarak s izin verilen öğeler |
---|---|
None | basamakları yalnızca öğe. |
AllowDecimalPoint | Ondalık nokta (.) ve kesirli basamaklar öğeleri |
AllowExponent | exponential_digitsile birlikte üstel gösterimi gösteren "e" veya "E" karakteri. |
AllowLeadingWhite |
s başındaki ws öğesi. |
AllowTrailingWhite |
s sonundaki ws öğesi. |
AllowLeadingSign |
s başındaki işareti öğesi. |
AllowTrailingSign |
s sonundaki sign öğesi. |
AllowParentheses | işareti, sayısal değeri kapsayan parantez biçiminde öğesidir. |
AllowThousands | Grup ayırıcı (,) öğesi. |
AllowCurrencySymbol | Para birimi ($) öğesi. |
Currency | Tüm öğeler. Ancak, s onaltılık bir sayıyı veya üstel gösterimdeki bir sayıyı temsil edemez. |
Float | s parametresi üstel gösterimi de kullanabilir. |
Number |
ws , sign , grup ayırıcısı (,) ve ondalık ayırıcı (.) öğeleri. |
Any | Tüm öğeler. Ancak, s onaltılık bir sayıyı temsil edemez. |
s
içinde belirli stil öğelerinin bulunmasına izin veren ancak gerektirmeyen diğer NumberStyles değerlerinden farklı olarak, NumberStyles.AllowHexSpecifier stil değeri, s
içindeki tek tek sayısal karakterlerin her zaman onaltılık karakterler olarak yorumlandığı anlamına gelir. Geçerli onaltılık karakterler 0-9, A-F ve a-f şeklindedir. "0x" gibi bir ön eke izin verilmez.
style
parametresiyle birleştirilebilen diğer bayraklar yalnızca NumberStyles.AllowLeadingWhite ve NumberStyles.AllowTrailingWhite. (NumberStyles numaralandırması, her iki boşluk bayrağını da içeren NumberStyles.HexNumberbileşik bir sayı stili içerir.)
style
parametresiyle birleştirilebilen diğer bayraklar yalnızca NumberStyles.AllowLeadingWhite ve NumberStyles.AllowTrailingWhite. (NumberStyles numaralandırması, her iki boşluk bayrağını da içeren NumberStyles.HexNumberbileşik bir sayı stili içerir.)
Not
s
, onaltılık bir sayının dize gösterimiyse, önünde onaltılık sayı olarak ayırt eden herhangi bir süsleme (0x
veya &h
gibi) bulunamaz. Bu, dönüştürmenin başarısız olmasına neden olur.
s
parametresi, geçerli sistem kültürü için başlatılan bir NumberFormatInfo nesnesindeki biçimlendirme bilgileri kullanılarak ayrıştırılır. Ayrıştırma işlemi için biçimlendirme bilgileri kullanılan kültürü belirtmek için Parse(String, NumberStyles, IFormatProvider) aşırı yüklemesini çağırın.
Ayrıca bkz.
- ToString()
- TryParse
- .NET'da Sayısal Dizeleri Ayrıştırma