Single.TryParse Methode

Definition

Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.Converts the string representation of a number to its single-precision floating-point number equivalent. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.A return value indicates whether the conversion succeeded or failed.

Überlädt

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Single)

Konvertiert die Spannendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.Converts the span representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.A return value indicates whether the conversion succeeded or failed.

TryParse(String, Single)

Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.Converts the string representation of a number to its single-precision floating-point number equivalent. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.A return value indicates whether the conversion succeeded or failed.

TryParse(ReadOnlySpan<Char>, Single)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einer Zeichenspanne in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.Converts the string representation of a number in a character span to its single-precision floating-point number equivalent. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.A return value indicates whether the conversion succeeded or failed.

TryParse(String, NumberStyles, IFormatProvider, Single)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.A return value indicates whether the conversion succeeded or failed.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Single)

Konvertiert die Spannendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.Converts the span representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out float result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * single -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As Single) As Boolean

Parameter

s
ReadOnlySpan<Char>

Eine schreibgeschützte Zeichenspanne, die die zu konvertierende Zahl enthält.A read-only character span that contains the number to convert. Die Spanne wird unter Verwendung des durch style angegebenen Stils interpretiert.The span is interpreted using the style specified by style

style
NumberStyles

Eine bitweise Kombination von Enumerationswerten, die das zulässige Format von s angibt.A bitwise combination of enumeration values that indicates the permitted format of s. Ein häufig angegebener Wert ist Float in Kombination mit AllowThousands.A typical value to specify is Float combined with AllowThousands.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu s bereitstellt.An object that supplies culture-specific formatting information about s.

result
Single

Diese Methode gibt bei erfolgreicher Konvertierung eine Gleitkommazahl mit einfacher Genauigkeit zurück, die dem numerischen Wert oder dem in s enthaltenen Symbol entspricht, und 0 (null), wenn die Konvertierung nicht durchgeführt werden konnte.When this method returns, contains the single-precision floating-point number equivalent to the numeric value or symbol contained in s, if the conversion succeeded, or zero if the conversion failed. Die Konvertierung kann nicht durchgeführt werden, wenn der s-Parameter null oder Empty ist, kein mit style kompatibles Format aufweist, eine Zahl kleiner als MinValue oder größer als MaxValue darstellt, oder wenn style keine gültige Kombination von NumberStyles-Enumerationskonstanten ist.The conversion fails if the s parameter is null or Empty, is not in a format compliant with style, represents a number less than MinValue or greater than MaxValue, or if style is not a valid combination of NumberStyles enumerated constants. Dieser Parameter wird nicht initialisiert übergeben. Jeder Wert, der ursprünglich im bereitgestellten result überschrieben werden.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Gibt zurück

true, wenn s erfolgreich konvertiert wurde, andernfalls false.true if s was converted successfully; otherwise, false.

TryParse(String, Single)

Konvertiert die Zeichenfolgendarstellung einer Zahl in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.Converts the string representation of a number to its single-precision floating-point number equivalent. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (string s, out float result);
static member TryParse : string * single -> bool
Public Shared Function TryParse (s As String, ByRef result As Single) As Boolean

Parameter

s
String

Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.A string representing a number to convert.

result
Single

Diese Methode gibt bei erfolgreicher Konvertierung eine Gleitkommazahl mit einfacher Genauigkeit zurück, die dem numerischen Wert oder dem in s enthaltenen Symbol entspricht, und 0 (null), wenn die Konvertierung nicht durchgeführt werden konnte.When this method returns, contains single-precision floating-point number equivalent to the numeric value or symbol contained in s, if the conversion succeeded, or zero if the conversion failed. Die Konvertierung schlägt fehl, wenn der s-Parameter null oder Empty oder keine Zahl in einem gültigen Format ist.The conversion fails if the s parameter is null or Empty or is not a number in a valid format. Außerdem schlägt sie unter .NET Framework und .NET Core 2.2 und früheren Versionen fehl, wenn s eine Zahl kleiner als MinValue oder größer als MaxValue darstellt.It also fails on .NET Framework and .NET Core 2.2 and earlier versions if s represents a number less than MinValue or greater than MaxValue. Dieser Parameter wird nicht initialisiert übergeben. Jeder Wert, der ursprünglich im bereitgestellten result überschrieben werden.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Gibt zurück

true, wenn s erfolgreich konvertiert wurde, andernfalls false.true if s was converted successfully; otherwise, false.

Beispiele

Im folgenden Beispiel wird die TryParse(String, Single)-Methode verwendet, um die Zeichen folgen Darstellungen numerischer Werte in Single Werte zu konvertieren.The following example uses the TryParse(String, Single) method to convert the string representations of numeric values to Single values. Dabei wird davon ausgegangen, dass "en-US" die aktuelle Kultur ist.It assumes that en-US is the current culture.

string value;
float number;

// Parse a floating-point value with a thousands separator.
value = "1,643.57";
if (Single.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 (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);   

// Parse value in exponential notation.
value = "-1.643e6";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);   

// Parse a negative integer value.
value = "-168934617882109132";
if (Single.TryParse(value, out number))
   Console.WriteLine(number);
else
   Console.WriteLine("Unable to parse '{0}'.", value);   
// The example displays the following output:
//       1643.57
//       Unable to parse '$1,643.57'.
//       -164300
//       -1.68934617882109E+17
Dim value As String
Dim number As Single

' Parse a floating-point value with a thousands separator.
value = "1,643.57"
If Single.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 Single.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 Single.TryParse(value, number)
   Console.WriteLine(number)
Else
   Console.WriteLine("Unable to parse '{0}'.", value)   
End If

' Parse a negative integer number.
value = "-168934617882109132"
If Single.TryParse(value, number)
   Console.WriteLine(number)
Else
   Console.WriteLine("Unable to parse '{0}'.", value)   
End If
' The example displays the following output:
'       1643.57
'       Unable to parse '$1,643.57'.
'       -1643000
'       -1.68934617882109E+17

Hinweise

Diese Überladung unterscheidet sich von der Single.Parse(String)-Methode, indem ein boolescher Wert zurückgegeben wird, der angibt, ob der Analyse Vorgang erfolgreich war, anstatt den analysierten numerischen Wert zurückzugeben.This overload differs from the Single.Parse(String) method by returning a Boolean value that indicates whether the parse operation succeeded instead of returning the parsed numeric value. Es entfällt, dass die Ausnahmebehandlung verwendet werden muss, um auf eine FormatException zu testen, wenn s ungültig ist und nicht erfolgreich analysiert werden kann.It eliminates the need to use exception handling to test for a FormatException in the event that s is invalid and cannot be successfully parsed.

Der s-Parameter kann PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol (der Zeichen folgen Vergleich unter Beachtung der Groß-/Kleinschreibung) oder eine Zeichenfolge in der Form enthalten:The s parameter can contain PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol (the string comparison is case-sensitive), or a string of the form:

Gefangener Gebärden [integrale Ziffern,] ganzzahlige Ziffern [. [ Bruch Ziffern]] [e [Sign] exponentialziffern] [WS][ws][sign][integral-digits,]integral-digits[.[fractional-digits]][e[sign]exponential-digits][ws]

Elemente in eckigen Klammern sind optional.Elements in square brackets are optional. In der folgenden Tabelle wird jedes Element beschrieben.The following table describes each element.

ElementElement BeschreibungDescription
wsws Eine Reihe von Leerzeichen.A series of white-space characters.
signsign Ein negatives Vorzeichen-oder positives Vorzeichen Symbol.A negative sign or positive sign symbol.
integral-digitsintegral-digits Eine Reihe von numerischen Zeichen im Bereich von 0 bis 9, die den ganzzahligen Teil der Zahl angeben.A series of numeric characters ranging from 0 to 9 that specify the integral part of the number. Ganzzahlige Ziffern können nicht vorhanden sein, wenn es sich um Bruch Ziffern handelt.Integral-digits can be absent if there are fractional-digits.
,, Ein kulturspezifisches Gruppen Trennzeichen.A culture-specific group separator symbol.
.. Ein kulturspezifisches Dezimaltrennzeichen.A culture-specific decimal point symbol.
fractional-digitsfractional-digits Eine Reihe von numerischen Zeichen im Bereich von 0 bis 9, die den Bruchteil der Zahl angeben.A series of numeric characters ranging from 0 to 9 that specify the fractional part of the number.
EE Ein Großbuchstabe oder ein Kleinbuchstabe "e", der die exponentielle (wissenschaftliche) Notation angibt.An uppercase or lowercase character 'e', that indicates exponential (scientific) notation.
exponential-digitsexponential-digits Eine Reihe von numerischen Zeichen im Bereich von 0 bis 9, die einen Exponenten angeben.A series of numeric characters ranging from 0 to 9 that specify an exponent.

Der s-Parameter wird mit einer Kombination der NumberStyles.Float-und NumberStyles.AllowThousands-Flags interpretiert.The s parameter is interpreted using a combination of the NumberStyles.Float and NumberStyles.AllowThousands flags. Dies bedeutet, dass Leerzeichen und Tausender Trennzeichen zulässig sind, aber Währungssymbole nicht.This means that white space and thousands separators are allowed but currency symbols are not. Verwenden Sie die TryParse(String, NumberStyles, IFormatProvider, Single)-Methoden Überladung, um die Elemente (z. b. Währungssymbole, Tausende Trennzeichen und Leerzeichen), die in svorhanden sein können, explizit zu definieren.To explicitly define the elements (such as currency symbols, thousands separators, and white space) that can be present in s, use the TryParse(String, NumberStyles, IFormatProvider, Single) method overload.

Der s-Parameter wird mithilfe der Formatierungsinformationen in einem NumberFormatInfo-Objekt analysiert, das für die aktuelle System Kultur initialisiert wird.The s parameter is parsed using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. Weitere Informationen finden Sie unter NumberFormatInfo.CurrentInfo.For more information, see NumberFormatInfo.CurrentInfo. Verwenden Sie die TryParse(String, NumberStyles, IFormatProvider, Single)-Methoden Überladung, um eine Zeichenfolge mit den Formatierungsinformationen einer anderen angegebenen Kultur zu analysieren.To parse a string using the formatting information of some other specified culture, use the TryParse(String, NumberStyles, IFormatProvider, Single) method overload.

Wenn Sie der Single.TryParse-Methode eine Zeichenfolge übergeben, die durch Aufrufen der Single.ToString-Methode erstellt wird, wird normalerweise der ursprüngliche Single Wert zurückgegeben.Ordinarily, if you pass the Single.TryParse method a string that is created by calling the Single.ToString method, the original Single value is returned. Aufgrund eines Genauigkeits Verlusts sind die Werte jedoch möglicherweise nicht gleich.However, because of a loss of precision, the values may not be equal.

Wenn s außerhalb des Bereichs des Single Datentyps liegt, gibt die Methode false auf .NET Framework und .net Core 2,2 und früheren Versionen zurück.If s is out of range of the Single data type, the method returns false on .NET Framework and .NET Core 2.2 and earlier versions. In .net Core 3,0 und höheren Versionen wird Single.NegativeInfinity zurückgegeben, wenn s kleiner als Single.MinValue ist, und Single.PositiveInfinity, wenn s größer als Single.MaxValueist.On .NET Core 3.0 and later versions, it returns Single.NegativeInfinity if s is less than Single.MinValue and Single.PositiveInfinity if s is greater than Single.MaxValue.

Wenn während eines Analyse Vorgangs ein Trennzeichen im s-Parameter gefunden wird und die entsprechende Währungs-oder Zahlen Dezimal-und Gruppen Trennzeichen identisch sind, geht der Analyse Vorgang davon aus, dass das Trennzeichen ein Dezimaltrennzeichen und nicht ein Gruppen Trennzeichen ist.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. Weitere Informationen zu Trennzeichen finden Sie unter CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparatorund NumberGroupSeparator.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

Siehe auch

TryParse(ReadOnlySpan<Char>, Single)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einer Zeichenspanne in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.Converts the string representation of a number in a character span to its single-precision floating-point number equivalent. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (ReadOnlySpan<char> s, out float result);
static member TryParse : ReadOnlySpan<char> * single -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As Single) As Boolean

Parameter

s
ReadOnlySpan<Char>

>Ein Zeichenbereich, der die Zeichenfolgendarstellung der zu konvertierenden Zahl enthält.>A character span that contains the string representation of the number to convert.

result
Single

>Nach Ausführung dieser Methode enthält sie bei erfolgreicher Konvertierung eine Gleitkommazahl mit einfacher Genauigkeit, die dem s-Parameter entspricht, oder 0 (null), wenn die Konvertierung fehlgeschlagen ist.>When this method returns, contains the single-precision floating-point number equivalent of the s parameter, if the conversion succeeded, or zero if the conversion failed. Die Konvertierung schlägt fehl, wenn der s-Parameter null oder leer oder keine Zahl in einem gültigen Format ist.The conversion fails if the s parameter is null or empty or is not a number in a valid format. Wenn eine gültige Zahl ist, die kleiner als MinValue ist, ist result NegativeInfinity.If is a valid number less than MinValue, result is NegativeInfinity. Wenn eine gültige Zahl ist, die größer als MaxValue ist, ist result PositiveInfinity.If is a valid number greater than MaxValue, result is PositiveInfinity. Dieser Parameter wird nicht initialisiert übergeben. Jeder Wert, der ursprünglich im bereitgestellten result überschrieben werden.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Gibt zurück

true, wenn s erfolgreich konvertiert wurde, andernfalls false.true if s was converted successfully; otherwise, false.

TryParse(String, NumberStyles, IFormatProvider, Single)

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturabhängigen Format in die entsprechende Gleitkommazahl mit einfacher Genauigkeit.Converts the string representation of a number in a specified style and culture-specific format to its single-precision floating-point number equivalent. Ein Rückgabewert gibt an, ob die Konvertierung erfolgreich war oder nicht.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] float % result);
public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out float result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * single -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As Single) As Boolean

Parameter

s
String

Eine Zeichenfolge, die die zu konvertierende Zahl darstellt.A string representing a number to convert.

style
NumberStyles

Eine bitweise Kombination von Enumerationswerten, die das zulässige Format von s angibt.A bitwise combination of enumeration values that indicates the permitted format of s. Ein häufig angegebener Wert ist Float in Kombination mit AllowThousands.A typical value to specify is Float combined with AllowThousands.

provider
IFormatProvider

Ein Objekt, das kulturspezifische Formatierungsinformationen zu s bereitstellt.An object that supplies culture-specific formatting information about s.

result
Single

Diese Methode gibt bei erfolgreicher Konvertierung eine Gleitkommazahl mit einfacher Genauigkeit zurück, die dem numerischen Wert oder dem in s enthaltenen Symbol entspricht, und 0 (null), wenn die Konvertierung nicht durchgeführt werden konnte.When this method returns, contains the single-precision floating-point number equivalent to the numeric value or symbol contained in s, if the conversion succeeded, or zero if the conversion failed. Die Konvertierung schlägt fehl, wenn der s-Parameter null oder Empty ist, kein mit style kompatibles Format aufweist oder wenn style keine gültige Kombination von NumberStyles-Enumerationskonstanten ist.The conversion fails if the s parameter is null or Empty, is not in a format compliant with style, or if style is not a valid combination of NumberStyles enumeration constants. Außerdem schlägt sie unter .NET Framework oder .NET Core 2.2 und früheren Versionen fehl, wenn s eine Zahl kleiner als MinValue oder größer als MaxValue darstellt.It also fails on .NET Framework or .NET Core 2.2 and earlier versions if s represents a number less than MinValue or greater than MaxValue. Dieser Parameter wird nicht initialisiert übergeben. Jeder Wert, der ursprünglich im bereitgestellten result überschrieben werden.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Gibt zurück

true, wenn s erfolgreich konvertiert wurde, andernfalls false.true if s was converted successfully; otherwise, false.

Ausnahmen

style ist kein NumberStyles-Wert.style is not a NumberStyles value.

- oder --or- style ist der AllowHexSpecifier-Wert.style is the AllowHexSpecifier value.

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die Single.TryParse(String, NumberStyles, IFormatProvider, Single)-Methode verwendet wird, um die Zeichen folgen Darstellung von Zahlen zu analysieren, die einen bestimmten Stil aufweisen und mit den Konventionen einer bestimmten Kultur formatiert werden.The following example demonstrates the use of the Single.TryParse(String, NumberStyles, IFormatProvider, Single) method to parse the string representation of numbers that have a particular style and are formatted using the conventions of a particular culture.

string value;
System.Globalization.NumberStyles style;
System.Globalization.CultureInfo culture;
float number;

// Parse currency value using en-GB culture.
value = "£1,097.63";
style = System.Globalization.NumberStyles.Number | 
        System.Globalization.NumberStyles.AllowCurrencySymbol;
culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB");
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);

value = "1345,978";
style = System.Globalization.NumberStyles.AllowDecimalPoint;
culture = System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR");
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);

value = "1.345,978";
style = System.Globalization.NumberStyles.AllowDecimalPoint | 
        System.Globalization.NumberStyles.AllowThousands;
culture = System.Globalization.CultureInfo.CreateSpecificCulture("es-ES");
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);

value = "1 345,978";
if (Single.TryParse(value, style, culture, out number))
   Console.WriteLine("Converted '{0}' to {1}.", value, number);
else
   Console.WriteLine("Unable to convert '{0}'.", value);
// The example displays the following output:
//       Converted '£1,097.63' to 1097.63.
//       Converted '1345,978' to 1345.978.
//       Converted '1.345,978' to 1345.978.
//       Unable to convert '1 345,978'.
Dim value As String
Dim style As System.Globalization.NumberStyles
Dim culture As System.Globalization.CultureInfo
Dim number As Single

' Parse currency value using en-GB culture.
value = "£1,097.63"
style = System.Globalization.NumberStyles.Number Or _
        System.Globalization.NumberStyles.AllowCurrencySymbol
culture = System.Globalization.CultureInfo.CreateSpecificCulture("en-GB")
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If    

value = "1345,978"
style = System.Globalization.NumberStyles.AllowDecimalPoint
culture = System.Globalization.CultureInfo.CreateSpecificCulture("fr-FR")
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If    

value = "1.345,978"
style = System.Globalization.NumberStyles.AllowDecimalPoint Or _
        System.Globalization.NumberStyles.AllowThousands
culture = System.Globalization.CultureInfo.CreateSpecificCulture("es-ES")
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If    

value = "1 345,978"
If Single.TryParse(value, style, culture, number) Then
   Console.WriteLine("Converted '{0}' to {1}.", value, number)
Else
   Console.WriteLine("Unable to convert '{0}'.", value)
End If    
' The example displays the following output:
'       Converted '£1,097.63' to 1097.63.
'       Converted '1345,978' to 1345.978.
'       Converted '1.345,978' to 1345.978.
'       Unable to convert '1 345,978'.

Hinweise

Diese Überladung unterscheidet sich von der Parse(String, NumberStyles, IFormatProvider)-Methode, indem ein boolescher Wert zurückgegeben wird, der angibt, ob der Analyse Vorgang erfolgreich war, anstatt den analysierten numerischen Wert zurückzugeben.This overload differs from the Parse(String, NumberStyles, IFormatProvider) method by returning a Boolean value that indicates whether the parse operation succeeded instead of returning the parsed numeric value. Es entfällt, dass die Ausnahmebehandlung verwendet werden muss, um auf eine FormatException zu testen, wenn s ungültig ist und nicht erfolgreich analysiert werden kann.It eliminates the need to use exception handling to test for a FormatException in the event that s is invalid and cannot be successfully parsed.

Der style-Parameter definiert das zulässige Format des s-Parameters, damit der Analyse Vorgang erfolgreich ausgeführt wird.The style parameter defines the allowable format of the s parameter for the parse operation to succeed. Dabei muss es sich um eine Kombination von Bitflags aus der NumberStyles Enumeration handeln.It must be a combination of bit flags from the NumberStyles enumeration. Die folgenden NumberStyles Elemente werden nicht unterstützt:The following NumberStyles members are not supported:

Der s-Parameter kann PositiveInfinitySymbol, NegativeInfinitySymbolNaNSymbol für die Kultur enthalten, die durch providerangegeben wird.The s parameter can contain PositiveInfinitySymbol, NegativeInfinitySymbol, NaNSymbol for the culture indicated by provider. Außerdem kann der s Parameter abhängig vom Wert styledie folgenden Elemente enthalten:In addition, depending on the value of style, the s parameter may include the following elements:

Gefangener [$] Gebärden [ganzzahlige Ziffern,] ganzzahlige Ziffern [. Bruch Ziffern] [e [Sign] exponentialziffern] [WS][ws] [$] [sign][integral-digits,]integral-digits[.fractional-digits][e[sign]exponential-digits][ws]

Elemente in eckigen Klammern ([ und ]) sind optional.Elements in square brackets ([ and ]) are optional. In der folgenden Tabelle wird jedes Element beschrieben.The following table describes each element.

ElementElement BeschreibungDescription
wsws Optionaler Leerraum.Optional white space. Leerraum kann am Anfang s vorkommen, wenn style das NumberStyles.AllowLeadingWhite-Flag enthält.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag. Sie kann am Ende der s vorkommen, wenn style das NumberStyles.AllowTrailingWhite-Flag enthält.It can appear at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Ein kulturspezifisches Währungssymbol.A culture-specific currency symbol. Die Position in der Zeichenfolge wird durch die Eigenschaften NumberFormatInfo.CurrencyNegativePattern oder NumberFormatInfo.CurrencyPositivePattern des NumberFormatInfo Objekts definiert, das von der IFormatProvider.GetFormat-Methode des provider-Parameters zurückgegeben wird.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern or NumberFormatInfo.CurrencyPositivePattern properties of the NumberFormatInfo object returned by the IFormatProvider.GetFormat method of the provider parameter. Das Währungssymbol kann in s angezeigt werden, wenn style das NumberStyles.AllowCurrencySymbol-Flag enthält.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Ein optionales Vorzeichen.An optional sign. Das Vorzeichen kann am Anfang s angezeigt werden, wenn style das NumberStyles.AllowLeadingSign-Flag enthält, und es kann am Ende s angezeigt werden, wenn style das NumberStyles.AllowTrailingSign-Flag enthält.The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingSign flag. In s können Klammern verwendet werden, um einen negativen Wert anzugeben, wenn style das NumberStyles.AllowParentheses-Flag enthält.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
integral-digitsintegral-digits Eine Reihe von Ziffern im Bereich von 0 bis 9, die den ganzzahligen Teil der Zahl angeben.A series of digits ranging from 0 to 9 that specify the integral part of the number. Ganzzahlige Ziffern können nicht vorhanden sein, wenn es sich um Bruch Ziffern handelt.Integral-digits can be absent if there are fractional-digits.
,, Ein kulturspezifisches Tausender Trennzeichen.A culture-specific thousands separator symbol. Das Tausender Trennzeichen der aktuellen Kultur kann in s vorkommen, wenn style das NumberStyles.AllowThousands-Flag enthält.The current culture's thousands separator symbol can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Ein kulturspezifisches Dezimaltrennzeichen.A culture-specific decimal point symbol. Das Dezimaltrennzeichen der aktuellen Kultur kann in s vorkommen, wenn style das NumberStyles.AllowDecimalPoint-Flag enthält.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
fractional-digitsfractional-digits Eine Reihe von Ziffern im Bereich von 0 bis 9, die den Bruch Teil der Zahl angeben.A series of digits ranging from 0 to 9 that specify the fractional part of the number. Bruch Ziffern können in s vorkommen, wenn style das NumberStyles.AllowDecimalPoint-Flag enthält.Fractional digits can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
ee Das e-oder e-Zeichen, das angibt, dass s eine Zahl mit exponentieller Notation darstellen kann.The e or E character, which indicates that s can represent a number using exponential notation. Der s-Parameter kann eine Zahl in Exponentialnotation darstellen, wenn style das NumberStyles.AllowExponent-Flag enthält.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
exponential-digitsexponential-digits Eine Reihe von Ziffern im Bereich von 0 bis 9, die einen Exponenten angeben.A series of digits ranging from 0 to 9 that specify an exponent.

Hinweis

Alle abschließenden NUL-Zeichen (U + 0000) in s werden vom Analyse-Vorgang unabhängig vom Wert des style Arguments ignoriert.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Eine Zeichenfolge mit nur Ziffern (die dem NumberStyles.None Stil entspricht) wird immer erfolgreich analysiert, wenn Sie sich im Bereich des Single Typs befindet.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully if it is in the range of the Single type. Die verbleibenden System.Globalization.NumberStyles Member steuern Elemente, die möglicherweise, jedoch nicht in der Eingabe Zeichenfolge vorhanden sein müssen.The remaining System.Globalization.NumberStyles members control elements that may be but are not required to be present in the input string. In der folgenden Tabelle wird angegeben, wie einzelne NumberStyles Flags die Elemente beeinflussen, die möglicherweise in svorhanden sind.The following table indicates how individual NumberStyles flags affect the elements that may be present in s.

NumberStyles-WertNumberStyles value In s zulässige Elemente zusätzlich zu ZiffernElements permitted in s in addition to digits
None Nur das ganzzahlige Ziffern Element.The integral-digits element only.
AllowDecimalPoint Das Sprachelement .The . und Bruch Ziffern Elemente.and fractional-digits elements.
AllowExponent Der s-Parameter kann auch die Exponentialnotation verwenden.The s parameter can also use exponential notation. Dieses Flag allein unterstützt Werte in der Form ganzzahlige ZiffernEexponentialziffern. zusätzliche Flags sind erforderlich, um Zeichen folgen in Exponentialnotation mit solchen Elementen wie positive oder negative Vorzeichen und Dezimaltrennzeichen erfolgreich zu analysieren.This flag by itself supports values in the form integral-digitsEexponential-digits; additional flags are needed to successfully parse strings in exponential notation with such elements as positive or negative signs and decimal point symbols.
AllowLeadingWhite Das WS -Element am Anfang s.The ws element at the beginning of s.
AllowTrailingWhite Das WS -Element am Ende s.The ws element at the end of s.
AllowLeadingSign Das Sign -Element am Anfang s.The sign element at the beginning of s.
AllowTrailingSign Das Sign -Element am Ende s.The sign element at the end of s.
AllowParentheses Das Vorzeichen Element in der Form von Klammern, das den numerischen Wert einschließt.The sign element in the form of parentheses enclosing the numeric value.
AllowThousands Das - Element.The , element.
AllowCurrencySymbol Das $ Element.The $ element.
Currency AlleAll. Der s-Parameter kann keine hexadezimal Zahl oder eine Zahl in Exponentialnotation darstellen.The s parameter cannot represent a hexadecimal number or a number in exponential notation.
Float Das WS -Element am Anfang oder Ende s, signiert am Anfang sund .The ws element at the beginning or end of s, sign at the beginning of s, and the . Tick.symbol. Der s-Parameter kann auch die Exponentialnotation verwenden.The s parameter can also use exponential notation.
Number Die Elemente ws, sign, Tausender Trennzeichen (,) und Dezimaltrennzeichen (.).The ws, sign, thousands separator (,), and decimal point (.) elements.
Any Alle Stile, außer s können keine hexadezimal Zahl darstellen.All styles, except s cannot represent a hexadecimal number.

Der provider-Parameter ist eine IFormatProvider Implementierung, deren GetFormat-Methode ein NumberFormatInfo Objekt zurückgibt, das kulturspezifische Formatierungsinformationen bereitstellt.The provider parameter is an IFormatProvider implementation whose GetFormat method returns a NumberFormatInfo object that provides culture-specific formatting information. Wenn die TryParse(String, NumberStyles, IFormatProvider, Single)-Methode aufgerufen wird, ruft Sie die GetFormat-Methode des provider-Parameters auf und übergibt ihr ein Type Objekt, das den NumberFormatInfo Typ darstellt.When the TryParse(String, NumberStyles, IFormatProvider, Single) method is invoked, it calls the provider parameter's GetFormat method and passes it a Type object that represents the NumberFormatInfo type. Die GetFormat-Methode gibt dann das NumberFormatInfo-Objekt zurück, das Informationen zum Format des s-Parameters bereitstellt.The GetFormat method then returns the NumberFormatInfo object that provides information about the format of the s parameter. Es gibt drei Möglichkeiten, den provider-Parameter zu verwenden, um benutzerdefinierte Formatierungsinformationen für den Analyse Vorgang bereitzustellen:There are three ways to use the provider parameter to supply custom formatting information to the parse operation:

  • Sie können ein CultureInfo Objekt übergeben, das die Kultur darstellt, die Formatierungsinformationen bereitstellt.You can pass a CultureInfo object that represents the culture that supplies formatting information. Die GetFormat-Methode gibt das NumberFormatInfo Objekt zurück, das numerische Formatierungsinformationen für diese Kultur bereitstellt.Its GetFormat method returns the NumberFormatInfo object that provides numeric formatting information for that culture.

  • Sie können das tatsächliche NumberFormatInfo Objekt übergeben, das numerische Formatierungsinformationen bereitstellt.You can pass the actual NumberFormatInfo object that provides numeric formatting information. (Die Implementierung von GetFormat nur sich selbst zurückgegeben.)(Its implementation of GetFormat just returns itself.)

  • Sie können ein benutzerdefiniertes Objekt übergeben, das IFormatProviderimplementiert.You can pass a custom object that implements IFormatProvider. Die GetFormat-Methode instanziiert und gibt das NumberFormatInfo Objekt zurück, das Formatierungsinformationen bereitstellt.Its GetFormat method instantiates and returns the NumberFormatInfo object that provides formatting information.

Wenn provider nullist, wird die Formatierung der s basierend auf dem NumberFormatInfo Objekt der aktuellen Kultur interpretiert.If provider is null, the formatting of s is interpreted based on the NumberFormatInfo object of the current culture.

Wenn sich s außerhalb des Bereichs des Single Datentyps befindet, löst die Methode eine OverflowException auf .NET Framework und .net Core 2,2 und früheren Versionen aus.If s is out of range of the Single data type, the method throws an OverflowException on .NET Framework and .NET Core 2.2 and earlier versions. In .net Core 3,0 und höheren Versionen wird Single.NegativeInfinity zurückgegeben, wenn s kleiner als Single.MinValue ist, und Single.PositiveInfinity, wenn s größer als Single.MaxValueist.On .NET Core 3.0 and later versions, it returns Single.NegativeInfinity if s is less than Single.MinValue and Single.PositiveInfinity if s is greater than Single.MaxValue.

Wenn während eines Analyse Vorgangs ein Trennzeichen im s-Parameter gefunden wird und die entsprechende Währungs-oder Zahlen Dezimal-und Gruppen Trennzeichen identisch sind, geht der Analyse Vorgang davon aus, dass das Trennzeichen ein Dezimaltrennzeichen und nicht ein Gruppen Trennzeichen ist.If a separator is encountered in the s parameter during a parse operation, and the applicable currency or number decimal and group separators are the same, the parse operation assumes that the separator is a decimal separator rather than a group separator. Weitere Informationen zu Trennzeichen finden Sie unter CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparatorund NumberGroupSeparator.For more information about separators, see CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, and NumberGroupSeparator.

Siehe auch

Gilt für: