BigInteger.TryParse Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Versucht, die Zeichenfolgendarstellung einer Zahl in die BigInteger entsprechende Zahl zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
Überlädt
| Name | Beschreibung |
|---|---|
| TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, BigInteger) |
Versucht, die Zeichenfolgendarstellung einer Zahl in die BigInteger entsprechende Zahl zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war. |
| TryParse(ReadOnlySpan<Byte>, BigInteger) | |
| TryParse(ReadOnlySpan<Char>, BigInteger) |
Versucht, die Darstellung einer Zahl, die in der angegebenen schreibgeschützten Zeichenspanne enthalten ist, in dessen BigInteger Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war. |
| TryParse(String, BigInteger) |
Versucht, die Zeichenfolgendarstellung einer Zahl in die BigInteger entsprechende Zahl zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war. |
| TryParse(ReadOnlySpan<Byte>, IFormatProvider, BigInteger) | |
| TryParse(String, IFormatProvider, BigInteger) |
Versucht, eine Zeichenfolge in einen Wert zu analysieren. |
| TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, BigInteger) | |
| TryParse(String, NumberStyles, IFormatProvider, BigInteger) |
Versucht, die Zeichenfolgendarstellung einer Zahl in einem angegebenen Format und kulturspezifischen Format in das BigInteger entsprechende Format zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, BigInteger) |
Versucht, einen Bereich von Zeichen in einen Wert zu analysieren. |
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, BigInteger)
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
Versucht, die Zeichenfolgendarstellung einer Zahl in die BigInteger entsprechende Zahl zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
public:
static bool TryParse(ReadOnlySpan<char> value, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = System::Numerics::INumberBase<System::Numerics::BigInteger>::TryParse;
public:
static bool TryParse(ReadOnlySpan<char> value, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public static bool TryParse(ReadOnlySpan<char> value, System.Globalization.NumberStyles style, IFormatProvider? provider, out System.Numerics.BigInteger result);
public static bool TryParse(ReadOnlySpan<char> value, System.Globalization.NumberStyles style, IFormatProvider provider, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (value As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Parameter
- value
- ReadOnlySpan<Char>
Die Darstellung einer Zahl als schreibgeschützter Bereich von Zeichen.
- style
- NumberStyles
Eine bitweise Kombination von Enumerationswerten, die die Formatvorlagenelemente angibt, in valuedenen vorhanden sein kann. Ein typischer Wert, der angegeben werden soll, ist Integer.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu value.
- result
- BigInteger
Wenn diese Methode zurückgegeben wird, enthält sie die BigInteger Entsprechung mit der Zahl, die enthalten valueist, oder Zero wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn der value Parameter ein leerer Zeichenbereich ist oder sich nicht in einem Format befindet, das kompatibel ist style. Dieser Parameter wird nicht initialisiert übergeben.
Gibt zurück
true wenn value erfolgreich konvertiert wurde; andernfalls false.
Ausnahmen
style ist kein NumberStyles Wert.
-oder-
styleenthält das Attribut oder HexNumber die AllowHexSpecifier Kennzeichnung zusammen mit einem anderen Wert.
Hinweise
Diese Überladung ähnelt der Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Methode, mit der Ausnahme, dass keine Ausnahme ausgelöst wird, wenn die Konvertierung fehlschlägt. Diese Methode beseitigt die Notwendigkeit, die Ausnahmebehandlung zu verwenden, um zu testen FormatException , ob value ungültig ist und nicht erfolgreich analysiert werden kann.
Der style Parameter definiert die Formatvorlagenelemente (z. B. Leerzeichen oder ein positives oder negatives Vorzeichen), die im value Parameter zulässig sind, damit der Analysevorgang erfolgreich ausgeführt werden kann. Es muss eine Kombination aus Bitkennzeichnungen aus der NumberStyles Enumeration sein. Je nach Wert kann styleder value Parameter die folgenden Elemente enthalten:
[ws][][$Vorzeichen][Ziffern;]Ziffern[.fractional_digits][E[Zeichen]exponential_digits][ws]
Wenn der style Parameter enthält AllowHexSpecifier, kann der value Parameter die folgenden Elemente enthalten:
[ws]hexdigits[ws]
Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle wird jedes Element beschrieben.
| Element | Description |
|---|---|
| Ws | Optionaler Leerraum. Leerzeichen können am Anfang value angezeigt werden, wenn style die NumberStyles.AllowLeadingWhite Kennzeichnung enthalten ist, oder am Ende, value wenn style die NumberStyles.AllowTrailingWhite Kennzeichnung enthalten ist. |
| $ | Ein kulturspezifisches Währungssymbol. Seine Position wird value durch die CurrencyPositivePattern Eigenschaft des Objekts definiert, das NumberFormatInfo von der GetFormat Methode des provider Parameters zurückgegeben wird. Das Währungssymbol kann angezeigt werden, wenn style das NumberStyles.AllowCurrencySymbol Kennzeichen enthalten value ist. |
| sign | Ein optionales Zeichen. Das Zeichen kann am Anfang angezeigt value werden, wenn style das NumberStyles.AllowLeadingSign Kennzeichen enthalten ist, und es kann am Ende der value Kennzeichnung angezeigt werden, wenn style die NumberStyles.AllowTrailingSign Kennzeichnung enthalten ist. Klammern können verwendet value werden, um einen negativen Wert anzugeben, wenn style das NumberStyles.AllowParentheses Flag enthalten ist. |
| Ziffern | Eine Sequenz von Ziffern von 0 bis 9. |
| , | Ein kulturspezifisches Gruppentrennzeichen. Das Gruppentrennzeichen der durch sie angegebenen provider Kultur kann angezeigt werden value , wenn style die NumberStyles.AllowThousands Kennzeichnung enthalten ist. |
| . | Ein kulturspezifisches Dezimalkommasymbol. Das Dezimalkommasymbol der durch diese Kultur angegebenen provider Kultur kann angezeigt werden value , wenn style die NumberStyles.AllowDecimalPoint Kennzeichnung enthalten ist. |
| fractional_digits | Mindestens ein Vorkommen der Ziffer 0. Dezimalstellen können nur angezeigt werden value , wenn style die NumberStyles.AllowDecimalPoint Kennzeichnung enthalten ist. |
| E | Das Zeichen "e" oder "E", das angibt, dass der Wert in exponentieller (wissenschaftlicher) Schreibweise dargestellt wird. Der value Parameter kann eine Zahl in exponentieller Notation darstellen, wenn style das NumberStyles.AllowExponent Flag enthalten ist. |
| exponential_digits | Eine Sequenz von Ziffern von 0 bis 9. Der value Parameter kann eine Zahl in exponentieller Notation darstellen, wenn style das NumberStyles.AllowExponent Flag enthalten ist. |
| hexdigits | Eine Abfolge von hexadezimalen Ziffern von 0 bis f oder 0 bis F. |
Hinweis
Alle endenden NUL-Zeichen s (U+0000) werden unabhängig vom Wert des style Arguments vom Analysevorgang ignoriert.
Nicht zusammengesetzte NumberStyles Werte |
Elemente, die zusätzlich zu Ziffern im Wert zulässig sind |
|---|---|
| None | Nur Dezimalziffern. |
| AllowDecimalPoint | Die Dezimalkomma (.) und fractional_digits Elemente.
Fractional_digits darf jedoch nur aus einer oder mehreren 0 Ziffern bestehen, oder die Methode gibt zurückfalse. |
| AllowExponent | Das Zeichen "e" oder "E", das exponentielle Notation angibt, zusammen mit exponential_digits. Wenn value eine Zahl in exponentieller Schreibweise dargestellt wird, kann sie keine Nicht-Null-Bruchkomponente aufweisen. |
| AllowLeadingWhite | Das ws-Element am Anfang von value. |
| AllowTrailingWhite | Das ws-Element am Ende von value. |
| AllowLeadingSign | Das Zeichenelement vor Ziffern. |
| AllowTrailingSign | Das Zeichenelement nach Ziffern. |
| AllowParentheses | Das Zeichenelement in Form von Klammern, die den numerischen Wert einschließen. |
| AllowThousands | Das Gruppentrennzeichen (,) -Element. |
| AllowCurrencySymbol | Das Währungselement ($) |
| Currency | Alle Elemente.
value Eine hexadezimale Zahl oder eine Zahl in exponentieller Schreibweise kann jedoch nicht dargestellt werden. |
| Float | Das ws-Element am Anfang oder Ende von value, Zeichen am Anfang von value, und das Dezimalkomma (.) Symbol. Der value Parameter kann auch exponentielle Notation verwenden. |
| Number | Die Elemente ws, Zeichen, Gruppentrennzeichen (,) und Dezimalkomma (.). |
| Any | Alle Elemente.
value Eine hexadezimale Zahl kann jedoch nicht dargestellt werden. |
Wenn das NumberStyles.AllowHexSpecifier Flag verwendet wird, value muss es sich um einen Hexadezimalwert handelt. Die einzigen anderen Flags, die style vorhanden sein können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles Aufzählung weist eine zusammengesetzte Formatvorlage auf, HexNumberdie beide Leerzeichen enthält.)
Der provider Parameter ist eine IFormatProvider Implementierung. Die GetFormat Methode gibt ein NumberFormatInfo Objekt zurück, das kulturspezifische Informationen zum Format von value. Der provider Parameter kann eine der folgenden Sein:
Ein CultureInfo Objekt, das die Kultur darstellt, die Formatierungsinformationen bereitstellt. Die GetFormat Methode gibt das NumberFormatInfo Objekt zurück, das numerische Formatierungsinformationen für diese Kultur bereitstellt.
Ein NumberFormatInfo Objekt, das numerische Formatierungsinformationen bereitstellt. (Seine Umsetzung GetFormat von nur zurückgibt.)
Ein benutzerdefiniertes IFormatProviderObjekt, das implementiert wird. Die GetFormat Methode instanziiert und gibt das Objekt zurück, das NumberFormatInfo Formatierungsinformationen bereitstellt.
Wenn provider ja null, wird das NumberFormatInfo Objekt für die aktuelle Kultur verwendet.
Weitere Informationen
Gilt für:
TryParse(ReadOnlySpan<Byte>, BigInteger)
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public static bool TryParse(ReadOnlySpan<byte> utf8Text, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<byte> * BigInteger -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As BigInteger) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
- result
- BigInteger
Gibt zurück
Gilt für:
TryParse(ReadOnlySpan<Char>, BigInteger)
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
Versucht, die Darstellung einer Zahl, die in der angegebenen schreibgeschützten Zeichenspanne enthalten ist, in dessen BigInteger Entsprechung zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
public:
static bool TryParse(ReadOnlySpan<char> value, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public static bool TryParse(ReadOnlySpan<char> value, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<char> * BigInteger -> bool
Public Shared Function TryParse (value As ReadOnlySpan(Of Char), ByRef result As BigInteger) As Boolean
Parameter
- value
- ReadOnlySpan<Char>
Die Darstellung einer Zahl als schreibgeschützter Bereich von Zeichen.
- result
- BigInteger
Wenn diese Methode zurückgegeben wird, enthält sie die BigInteger Entsprechung der Zahl, die in valueoder Null (0) enthalten ist, wenn die Konvertierung fehlschlägt. Die Konvertierung schlägt fehl, wenn der value Parameter ein leerer Zeichenbereich ist oder nicht das richtige Format aufweist. Dieser Parameter wird nicht initialisiert übergeben.
Gibt zurück
true wenn value erfolgreich konvertiert wurde; andernfalls false.
Weitere Informationen
Gilt für:
TryParse(String, BigInteger)
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
Versucht, die Zeichenfolgendarstellung einer Zahl in die BigInteger entsprechende Zahl zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
public:
static bool TryParse(System::String ^ value, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public static bool TryParse(string value, out System.Numerics.BigInteger result);
public static bool TryParse(string? value, out System.Numerics.BigInteger result);
static member TryParse : string * BigInteger -> bool
Public Shared Function TryParse (value As String, ByRef result As BigInteger) As Boolean
Parameter
- value
- String
Die Zeichenfolgendarstellung einer Zahl.
- result
- BigInteger
Wenn diese Methode zurückgegeben wird, enthält sie die BigInteger Entsprechung der Zahl, die in valueoder Null (0) enthalten ist, wenn die Konvertierung fehlschlägt. Die Konvertierung schlägt fehl, wenn der value Parameter das richtige Format aufweist null oder nicht. Dieser Parameter wird nicht initialisiert übergeben.
Gibt zurück
true wenn value erfolgreich konvertiert wurde; andernfalls false.
Ausnahmen
value ist null.
Beispiele
Im folgenden Beispiel wird die TryParse(String, BigInteger) Methode verwendet, um zwei BigInteger Objekte zu instanziieren. Wenn die Konvertierungen erfolgreich sind, multipliziert sie jedes Objekt mit einer anderen Zahl und ruft dann die Compare Methode auf, um die Beziehung zwischen den beiden Objekten zu bestimmen.
BigInteger number1, number2;
bool succeeded1 = BigInteger.TryParse("-12347534159895123", out number1);
bool succeeded2 = BigInteger.TryParse("987654321357159852", out number2);
if (succeeded1 && succeeded2)
{
number1 *= 3;
number2 *= 2;
switch (BigInteger.Compare(number1, number2))
{
case -1:
Console.WriteLine("{0} is greater than {1}.", number2, number1);
break;
case 0:
Console.WriteLine("{0} is equal to {1}.", number1, number2);
break;
case 1:
Console.WriteLine("{0} is greater than {1}.", number1, number2);
break;
}
}
else
{
if (!succeeded1)
Console.WriteLine("Unable to initialize the first BigInteger value.");
if (!succeeded2)
Console.WriteLine("Unable to initialize the second BigInteger value.");
}
// The example displays the following output:
// 1975308642714319704 is greater than -37042602479685369.
let mutable number1 = BigInteger.Zero
let mutable number2 = BigInteger.Zero
let succeeded1 = BigInteger.TryParse("-12347534159895123", &number1)
let succeeded2 = BigInteger.TryParse("987654321357159852", &number2)
if succeeded1 && succeeded2 then
number1 <- number1 * 3I
number2 <- number2 * 2I
match BigInteger.Compare(number1, number2) with
| -1 -> printfn $"{number2} is greater than {number2}."
| 0 -> printfn $"{number1} is equal to {number2}."
| 1
| _ -> printfn $"{number1} is greater than {number2}."
else
if not succeeded1 then
printfn "Unable to initialize the first BigInteger value."
if not succeeded2 then
printfn "Unable to initialize the second BigInteger value."
// The example displays the following output:
// 1975308642714319704 is greater than -37042602479685369.
Dim number1 As BigInteger = BigInteger.Zero
Dim number2 As BigInteger = BigInteger.Zero
Dim succeeded1 As Boolean = BigInteger.TryParse("-12347534159895123", number1)
Dim succeeded2 As Boolean = BigInteger.TryParse("987654321357159852", number2)
If succeeded1 AndAlso succeeded2
number1 *= 3
number2 *= 2
Select Case BigInteger.Compare(number1, number2)
Case -1
Console.WriteLine("{0} is greater than {1}.", number2, number1)
Case 0
Console.WriteLine("{0} is equal to {1}.", number1, number2)
Case 1
Console.WriteLine("{0} is greater than {1}.", number1, number2)
End Select
Else
If Not succeeded1 Then
Console.WriteLine("Unable to initialize the first BigInteger value.")
End If
If Not succeeded2 Then
Console.WriteLine("Unable to initialize the second BigInteger value.")
End If
End If
' The example displays the following output:
' 1975308642714319704 is greater than -37042602479685369.
Hinweise
Die TryParse(String, BigInteger) Methode ähnelt der Parse(String) Methode, mit der Ausnahme, dass keine Ausnahme ausgelöst wird, wenn die Konvertierung fehlschlägt. Diese Methode beseitigt die Notwendigkeit, die Ausnahmebehandlung zu verwenden, um zu testen FormatException , ob value ungültig ist und nicht erfolgreich analysiert werden kann.
Der value Parameter sollte die Zeichenfolgendarstellung einer Dezimalzahl in der folgenden Form sein:
[ws][Zeichen]Ziffern[ws]
Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle wird jedes Element beschrieben.
| Element | Description |
|---|---|
| Ws | Optionaler Leerraum. |
| sign | Ein optionales Zeichen. Gültige Zeichenzeichen werden durch die NumberFormatInfo.NegativeSign Eigenschaften NumberFormatInfo.PositiveSign der aktuellen Kultur bestimmt. |
| Ziffern | Eine Sequenz von Dezimalziffern zwischen 0 und 9. |
Hinweis
Die durch den value Parameter angegebene Zeichenfolge darf keine Gruppentrennzeichen oder Dezimaltrennzeichen enthalten, und es kann kein Dezimalteil vorhanden sein.
Der value Parameter wird mithilfe der NumberStyles.Integer Formatvorlage interpretiert. Zusätzlich zu den Dezimalziffern sind nur führende und nachfolgende Leerzeichen mit einem vorangestellten Zeichen zulässig. Rufen Sie die Methode aufTryParse(String, NumberStyles, IFormatProvider, BigInteger), um die Formatelemente explizit mit den kulturspezifischen Formatierungsinformationen zu definieren, die valuevorhanden sein können.
Der value Parameter wird mithilfe der Formatierungsinformationen in einem NumberFormatInfo Objekt für die aktuelle Kultur analysiert. Weitere Informationen finden Sie unter NumberFormatInfo.CurrentInfo.
Diese Überladung interpretiert alle Ziffern im value Parameter als Dezimalziffern. Rufen Sie stattdessen die TryParse(String, NumberStyles, IFormatProvider, BigInteger) Überladung auf, um die Zeichenfolgendarstellung einer Hexadezimalzahl zu analysieren.
Weitere Informationen
Gilt für:
TryParse(ReadOnlySpan<Byte>, IFormatProvider, BigInteger)
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = IUtf8SpanParsable<System::Numerics::BigInteger>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
- provider
- IFormatProvider
- result
- BigInteger
Gibt zurück
Gilt für:
TryParse(String, IFormatProvider, BigInteger)
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
Versucht, eine Zeichenfolge in einen Wert zu analysieren.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = IParsable<System::Numerics::BigInteger>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out System.Numerics.BigInteger result);
static member TryParse : string * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Parameter
- s
- String
Die zu analysierende Zeichenfolge.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- result
- BigInteger
Wenn diese Methode zurückgegeben wird, enthält das Ergebnis einer erfolgreichen Analyse oder eines nicht definierten Werts s für fehler.
Gibt zurück
truewenn s erfolgreich analysiert wurde; andernfalls . false
Gilt für:
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, BigInteger)
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = System::Numerics::INumberBase<System::Numerics::BigInteger>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Parameter
- utf8Text
- ReadOnlySpan<Byte>
- style
- NumberStyles
- provider
- IFormatProvider
- result
- BigInteger
Gibt zurück
Gilt für:
TryParse(String, NumberStyles, IFormatProvider, BigInteger)
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
Versucht, die Zeichenfolgendarstellung einer Zahl in einem angegebenen Format und kulturspezifischen Format in das BigInteger entsprechende Format zu konvertieren, und gibt einen Wert zurück, der angibt, ob die Konvertierung erfolgreich war.
public:
static bool TryParse(System::String ^ value, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result);
public:
static bool TryParse(System::String ^ value, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = System::Numerics::INumberBase<System::Numerics::BigInteger>::TryParse;
public static bool TryParse(string value, System.Globalization.NumberStyles style, IFormatProvider provider, out System.Numerics.BigInteger result);
public static bool TryParse(string? value, System.Globalization.NumberStyles style, IFormatProvider? provider, out System.Numerics.BigInteger result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (value As String, style As NumberStyles, provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Parameter
- value
- String
Die Zeichenfolgendarstellung einer Zahl. Die Zeichenfolge wird mithilfe der durch style.
- style
- NumberStyles
Eine bitweise Kombination von Enumerationswerten, die die Formatvorlagenelemente angibt, in valuedenen vorhanden sein kann. Ein typischer Wert, der angegeben werden soll, ist Integer.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu value.
- result
- BigInteger
Wenn diese Methode zurückgegeben wird, enthält sie die BigInteger Entsprechung mit der Zahl, die enthalten valueist, oder Zero wenn die Konvertierung fehlgeschlagen ist. Die Konvertierung schlägt fehl, wenn sich der value Parameter in einem Format befindet null , das kompatibel styleist. Dieser Parameter wird nicht initialisiert übergeben.
Gibt zurück
true wenn der value Parameter erfolgreich konvertiert wurde; andernfalls false.
Ausnahmen
style ist kein NumberStyles Wert.
-oder-
styleenthält das Attribut oder HexNumber die AllowHexSpecifier Kennzeichnung zusammen mit einem anderen Wert.
Beispiele
Im folgenden Beispiel werden einige Aufrufe der TryParse(String, NumberStyles, IFormatProvider, BigInteger) Methode mithilfe verschiedener Wertekombinationen für die Und-Parameter styleprovider ausgeführt.
string numericString;
BigInteger number = BigInteger.Zero;
// Call TryParse with default values of style and provider.
numericString = " -300 ";
if (BigInteger.TryParse(numericString, NumberStyles.Integer,
null, out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with the default value of style and
// a provider supporting the tilde as negative sign.
numericString = " -300 ";
if (BigInteger.TryParse(numericString, NumberStyles.Integer,
new BigIntegerFormatProvider(), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with only AllowLeadingWhite and AllowTrailingWhite.
// Method returns false because of presence of negative sign.
numericString = " -500 ";
if (BigInteger.TryParse(numericString,
NumberStyles.AllowLeadingWhite | NumberStyles.AllowTrailingWhite,
new BigIntegerFormatProvider(), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with AllowHexSpecifier and a hex value.
numericString = "F14237FFAAC086455192";
if (BigInteger.TryParse(numericString,
NumberStyles.AllowHexSpecifier,
null, out number))
Console.WriteLine("'{0}' was converted to {1} (0x{1:x}).",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with AllowHexSpecifier and a negative hex value.
// Conversion fails because of presence of negative sign.
numericString = "-3af";
if (BigInteger.TryParse(numericString, NumberStyles.AllowHexSpecifier,
new BigIntegerFormatProvider(), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with only NumberStyles.None.
// Conversion fails because of presence of white space and sign.
numericString = " -300 ";
if (BigInteger.TryParse(numericString, NumberStyles.None,
new BigIntegerFormatProvider(), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
// Conversion fails because the string is formatted for the en-US culture.
numericString = "9,031,425,666,123,546.00";
if (BigInteger.TryParse(numericString, NumberStyles.Any,
new CultureInfo("fr-FR"), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
// Conversion succeeds because the string is properly formatted
// For the fr-FR culture.
numericString = "9 031 425 666 123 546,00";
if (BigInteger.TryParse(numericString, NumberStyles.Any,
new CultureInfo("fr-FR"), out number))
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number);
else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString);
// The example displays the following output:
// ' -300 ' was converted to -300.
// Conversion of ' -300 ' to a BigInteger failed.
// Conversion of ' -500 ' to a BigInteger failed.
// 'F14237FFAAC086455192' was converted to -69613977002644837412462 (0xf14237ffaac086455192).
// Conversion of '-3af' to a BigInteger failed.
// Conversion of ' -300 ' to a BigInteger failed.
// Conversion of '9,031,425,666,123,546.00' to a BigInteger failed.
// '9 031 425 666 123 546,00' was converted to 9031425666123546.
// Call TryParse with default values of style and provider.
let numericString = " -300 "
match BigInteger.TryParse(numericString, NumberStyles.Integer, null) with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with the default value of style and
// a provider supporting the tilde as negative sign.
let numericString = " -300 "
match BigInteger.TryParse(numericString, NumberStyles.Integer, new BigIntegerFormatProvider()) with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with only AllowLeadingWhite and AllowTrailingWhite.
// Method returns false because of presence of negative sign.
let numericString = " -500 "
match
BigInteger.TryParse(
numericString,
NumberStyles.AllowLeadingWhite ||| NumberStyles.AllowTrailingWhite,
new BigIntegerFormatProvider()
)
with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with AllowHexSpecifier and a hex value.
let numericString = "F14237FFAAC086455192"
match BigInteger.TryParse(numericString, NumberStyles.AllowHexSpecifier, null) with
| true, number -> printfn $"The string '{numericString}' parses to {number}, or 0x{number:x}."
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with AllowHexSpecifier and a negative hex value.
// Conversion fails because of presence of negative sign.
let numericString = "-3af"
match BigInteger.TryParse(numericString, NumberStyles.AllowHexSpecifier, null) with
| true, number -> printfn $"The string '{numericString}' parses to {number}, or 0x{number:x}."
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with only NumberStyles.None.
// Conversion fails because of presence of white space and sign.
let numericString = " -300 "
match BigInteger.TryParse(numericString, NumberStyles.None, new BigIntegerFormatProvider()) with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
// Conversion fails because the string is formatted for the en-US culture.
let numericString = "9,031,425,666,123,546.00"
match BigInteger.TryParse(numericString, NumberStyles.Any, new CultureInfo("fr-FR")) with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
// Conversion succeeds because the string is properly formatted
// For the fr-FR culture.
let numericString = "9 031 425 666 123 546,00"
match BigInteger.TryParse(numericString, NumberStyles.Any, new CultureInfo("fr-FR")) with
| true, number -> printfn $"The string '{numericString}' parses to {number}"
| _ -> printfn $"Conversion of {numericString} to a BigInteger failed."
// The example displays the following output:
// ' -300 ' was converted to -300.
// Conversion of ' -300 ' to a BigInteger failed.
// Conversion of ' -500 ' to a BigInteger failed.
// 'F14237FFAAC086455192' was converted to -69613977002644837412462 (0xf14237ffaac086455192).
// Conversion of '-3af' to a BigInteger failed.
// Conversion of ' -300 ' to a BigInteger failed.
// Conversion of '9,031,425,666,123,546.00' to a BigInteger failed.
// '9 031 425 666 123 546,00' was converted to 9031425666123546.
Dim numericString As String
Dim number As BigInteger = BigInteger.Zero
' Call TryParse with default values of style and provider.
numericString = " -300 "
If BigInteger.TryParse(numericString, NumberStyles.Integer,
Nothing, number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with the default value of style and
' a provider supporting the tilde as negative sign.
numericString = " -300 "
If BigInteger.TryParse(numericString, NumberStyles.Integer,
New BigIntegerFormatProvider(), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with only AllowLeadingWhite and AllowTrailingWhite.
' Method returns false because of presence of negative sign.
numericString = " -500 "
If BigInteger.TryParse(numericString,
NumberStyles.AllowLeadingWhite Or NumberStyles.AllowTrailingWhite,
New BigIntegerFormatProvider(), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with AllowHexSpecifier and a hex value.
numericString = "F14237FFAAC086455192"
If BigInteger.TryParse(numericString,
NumberStyles.AllowHexSpecifier,
Nothing, number) Then
Console.WriteLine("'{0}' was converted to {1} (0x{1:x}).",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with AllowHexSpecifier and a negative hex value.
' Conversion fails because of presence of negative sign.
numericString = "-3af"
If BigInteger.TryParse(numericString, NumberStyles.AllowHexSpecifier,
New BigIntegerFormatProvider(), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with only NumberStyles.None.
' Conversion fails because of presence of white space and sign.
numericString = " -300 "
If BigInteger.TryParse(numericString, NumberStyles.None,
New BigIntegerFormatProvider(), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
' Conversion fails because the string is formatted for the en-US culture.
numericString = "9,031,425,666,123,546.00"
If BigInteger.TryParse(numericString, NumberStyles.Any,
New CultureInfo("fr-FR"), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' Call TryParse with NumberStyles.Any and a provider for the fr-FR culture.
' Conversion succeeds because the string is properly formatted
' For the fr-FR culture.
numericString = "9 031 425 666 123 546,00"
If BigInteger.TryParse(numericString, NumberStyles.Any,
New CultureInfo("fr-FR"), number) Then
Console.WriteLine("'{0}' was converted to {1}.",
numericString, number)
Else
Console.WriteLine("Conversion of '{0}' to a BigInteger failed.",
numericString)
End If
' The example displays the following output:
' ' -300 ' was converted to -300.
' Conversion of ' -300 ' to a BigInteger failed.
' Conversion of ' -500 ' to a BigInteger failed.
' 'F14237FFAAC086455192' was converted to -69613977002644837412462 (0xf14237ffaac086455192).
' Conversion of '-3af' to a BigInteger failed.
' Conversion of ' -300 ' to a BigInteger failed.
' Conversion of '9,031,425,666,123,546.00' to a BigInteger failed.
' '9 031 425 666 123 546,00' was converted to 9031425666123546.
Eine Reihe der einzelnen Aufrufe der TryParse(String, NumberStyles, IFormatProvider, BigInteger) Methode übergeben eine Instanz der folgenden BigIntegerFormatProvider Klasse, die eine Tilde (~) als negatives Zeichen definiert.
public class BigIntegerFormatProvider : IFormatProvider
{
public object GetFormat(Type formatType)
{
if (formatType == typeof(NumberFormatInfo))
{
NumberFormatInfo numberFormat = new NumberFormatInfo();
numberFormat.NegativeSign = "~";
return numberFormat;
}
else
{
return null;
}
}
}
type BigIntegerFormatProvider() =
interface IFormatProvider with
member _.GetFormat(formatType: Type) =
if formatType = typeof<NumberFormatInfo> then
let numberFormat = new NumberFormatInfo()
numberFormat.NegativeSign <- "~"
numberFormat
else
null
Public Class BigIntegerFormatProvider : Implements IFormatProvider
Public Function GetFormat(formatType As Type) As Object _
Implements IFormatProvider.GetFormat
If formatType Is GetType(NumberFormatInfo) Then
Dim numberFormat As New NumberFormatInfo
numberFormat.NegativeSign = "~"
Return numberFormat
Else
Return Nothing
End If
End Function
End Class
Hinweise
Die TryParse(String, NumberStyles, IFormatProvider, BigInteger) Methode ähnelt der Parse(String, NumberStyles, IFormatProvider) Methode, mit der Ausnahme, dass keine Ausnahme ausgelöst wird, wenn die Konvertierung fehlschlägt. Diese Methode beseitigt die Notwendigkeit, die Ausnahmebehandlung zu verwenden, um zu testen FormatException , ob value ungültig ist und nicht erfolgreich analysiert werden kann.
Der style Parameter definiert die Formatvorlagenelemente (z. B. Leerzeichen oder ein positives oder negatives Vorzeichen), die im value Parameter zulässig sind, damit der Analysevorgang erfolgreich ausgeführt werden kann. Es muss eine Kombination aus Bitkennzeichnungen aus der NumberStyles Enumeration sein. Je nach Wert kann styleder value Parameter die folgenden Elemente enthalten:
[ws][][$Vorzeichen][Ziffern;]Ziffern[.fractional_digits][E[Zeichen]exponential_digits][ws]
Wenn der style Parameter enthält AllowHexSpecifier, kann der value Parameter die folgenden Elemente enthalten:
[ws]hexdigits[ws]
Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle wird jedes Element beschrieben.
| Element | Description |
|---|---|
| Ws | Optionaler Leerraum. Leerzeichen können am Anfang value angezeigt werden, wenn style die NumberStyles.AllowLeadingWhite Kennzeichnung enthalten ist, oder am Ende, value wenn style die NumberStyles.AllowTrailingWhite Kennzeichnung enthalten ist. |
| $ | Ein kulturspezifisches Währungssymbol. Die Position in der Zeichenfolge wird durch die CurrencyPositivePattern Eigenschaft des Objekts definiert, das NumberFormatInfo von der GetFormat Methode des provider Parameters zurückgegeben wird. Das Währungssymbol kann angezeigt werden, wenn style das NumberStyles.AllowCurrencySymbol Kennzeichen enthalten value ist. |
| sign | Ein optionales Zeichen. Das Zeichen kann am Anfang angezeigt value werden, wenn style das NumberStyles.AllowLeadingSign Kennzeichen enthalten ist, und es kann am Ende der value Kennzeichnung angezeigt werden, wenn style die NumberStyles.AllowTrailingSign Kennzeichnung enthalten ist. Klammern können verwendet value werden, um einen negativen Wert anzugeben, wenn style das NumberStyles.AllowParentheses Flag enthalten ist. |
| Ziffern | Eine Sequenz von Ziffern von 0 bis 9. |
| , | Ein kulturspezifisches Gruppentrennzeichen. Das Gruppentrennzeichen der durch sie angegebenen provider Kultur kann angezeigt werden value , wenn style die NumberStyles.AllowThousands Kennzeichnung enthalten ist. |
| . | Ein kulturspezifisches Dezimalkommasymbol. Das Dezimalkommasymbol der durch diese Kultur angegebenen provider Kultur kann angezeigt werden value , wenn style die NumberStyles.AllowDecimalPoint Kennzeichnung enthalten ist. |
| fractional_digits | Mindestens ein Vorkommen der Ziffer 0. Dezimalstellen können nur angezeigt werden value , wenn style die NumberStyles.AllowDecimalPoint Kennzeichnung enthalten ist. |
| E | Das Zeichen "e" oder "E", das angibt, dass der Wert in exponentieller (wissenschaftlicher) Schreibweise dargestellt wird. Der value Parameter kann eine Zahl in exponentieller Notation darstellen, wenn style das NumberStyles.AllowExponent Flag enthalten ist. |
| exponential_digits | Eine Sequenz von Ziffern von 0 bis 9. Der value Parameter kann eine Zahl in exponentieller Notation darstellen, wenn style das NumberStyles.AllowExponent Flag enthalten ist. |
| hexdigits | Eine Abfolge von hexadezimalen Ziffern von 0 bis f oder 0 bis F. |
Hinweis
Alle endenden NUL-Zeichen s (U+0000) werden unabhängig vom Wert des style Arguments vom Analysevorgang ignoriert.
Eine Zeichenfolge mit dezimalen Ziffern (die der NumberStyles.None Kennzeichnung entspricht) analysiert immer erfolgreich. Die meisten der verbleibenden NumberStyles Elemente steuern Elemente, die vorhanden sein können, aber nicht vorhanden sein müssen, in dieser Eingabezeichenfolge. In der folgenden Tabelle wird angegeben, wie sich einzelne NumberStyles Member auf die Elemente auswirken, die möglicherweise valuevorhanden sind.
Nicht zusammengesetzte NumberStyles Werte |
Elemente, die zusätzlich zu Ziffern im Wert zulässig sind |
|---|---|
| None | Nur Dezimalziffern. |
| AllowDecimalPoint | Die Dezimalkomma (.) und fractional_digits Elemente.
Fractional_digits darf jedoch nur aus einer oder mehreren 0 Ziffern bestehen, oder die Methode gibt zurückfalse. |
| AllowExponent | Das Zeichen "e" oder "E", das exponentielle Notation angibt, zusammen mit exponential_digits. Wenn value eine Zahl in exponentieller Schreibweise dargestellt wird, kann sie keine Nicht-Null-Bruchkomponente aufweisen. |
| AllowLeadingWhite | Das ws-Element am Anfang von value. |
| AllowTrailingWhite | Das ws-Element am Ende von value. |
| AllowLeadingSign | Das Zeichenelement vor Ziffern. |
| AllowTrailingSign | Das Zeichenelement nach Ziffern. |
| AllowParentheses | Das Zeichenelement in Form von Klammern, die den numerischen Wert einschließen. |
| AllowThousands | Das Gruppentrennzeichen (,) -Element. |
| AllowCurrencySymbol | Das Währungselement ($) |
| Currency | Alle Elemente.
value Eine hexadezimale Zahl oder eine Zahl in exponentieller Schreibweise kann jedoch nicht dargestellt werden. |
| Float | Das ws-Element am Anfang oder Ende von value, Zeichen am Anfang von value, und das Dezimalkomma (.) Symbol. Der value Parameter kann auch exponentielle Notation verwenden. |
| Number | Die Elemente ws, Zeichen, Gruppentrennzeichen (,) und Dezimalkomma (.). |
| Any | Alle Elemente.
value Eine hexadezimale Zahl kann jedoch nicht dargestellt werden. |
Von Bedeutung
Wenn Sie die TryParse Methode verwenden, um die Zeichenfolgendarstellung eines BigInteger Von der ToString Methode ausgegebenen Werts zu runden, sollten Sie die BigInteger.ToString(String) Methode mit dem Formatbezeichner "R" verwenden, um die Zeichenfolgendarstellung des BigInteger Werts zu generieren. Andernfalls wird die Zeichenfolgendarstellung der BigInteger 50 wichtigsten Ziffern des ursprünglichen Werts beibehalten, und Die Daten gehen möglicherweise verloren, wenn Sie die TryParse Methode zum Wiederherstellen des BigInteger Werts verwenden.
Wenn das NumberStyles.AllowHexSpecifier Flag verwendet wird, value muss es sich um einen Hexadezimalwert handelt. Die einzigen anderen Flags, die style vorhanden sein können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles Aufzählung weist eine zusammengesetzte Formatvorlage auf, HexNumberdie beide Leerzeichen enthält.)
Hinweis
Wenn value es sich um die Zeichenfolgendarstellung einer hexadezimalen Zahl handelt, kann keine Dekoration (z 0x . B. oder &h) vorangestellt werden, die sie als hexadezimale Zahl unterscheidet. Dies führt dazu, dass die Konvertierung fehlschlägt.
Wenn value es sich um eine hexadezimale Zeichenfolge handelt, interpretiert value die Methode als negative Zahl, die TryParse(String, NumberStyles, IFormatProvider, BigInteger) mithilfe der Zweidezimaldarstellung gespeichert wird, wenn die ersten beiden Hexadezimalziffern größer oder gleich 0x80sind. Mit anderen Worten interpretiert die Methode das Bit der höchsten Reihenfolge des ersten Bytes value als Zeichenbit. Um sicherzustellen, dass eine hexadezimale Zeichenfolge korrekt als positive Zahl interpretiert wird, muss die erste Ziffer value einen Wert von Null aufweisen. Die Methode interpretiert 0x80 z. B. einen negativen Wert, interpretiert aber entweder 0x080 oder 0x0080 als positiver Wert. Im folgenden Beispiel wird der Unterschied zwischen hexadezimalen Zeichenfolgen veranschaulicht, die negative und positive Werte darstellen.
using System;
using System.Globalization;
using System.Numerics;
public class Example
{
public static void Main()
{
string[] hexStrings = { "80", "E293", "F9A2FF", "FFFFFFFF",
"080", "0E293", "0F9A2FF", "0FFFFFFFF",
"0080", "00E293", "00F9A2FF", "00FFFFFFFF" };
BigInteger number = BigInteger.Zero;
foreach (string hexString in hexStrings)
{
if (BigInteger.TryParse(hexString, NumberStyles.AllowHexSpecifier,
null, out number))
Console.WriteLine("Converted 0x{0} to {1}.", hexString, number);
else
Console.WriteLine("Cannot convert '{0}' to a BigInteger.", hexString);
}
}
}
// The example displays the following output:
// Converted 0x80 to -128.
// Converted 0xE293 to -7533.
// Converted 0xF9A2FF to -417025.
// Converted 0xFFFFFFFF to -1.
// Converted 0x080 to 128.
// Converted 0x0E293 to 58003.
// Converted 0x0F9A2FF to 16360191.
// Converted 0x0FFFFFFFF to 4294967295.
// Converted 0x0080 to 128.
// Converted 0x00E293 to 58003.
// Converted 0x00F9A2FF to 16360191.
// Converted 0x00FFFFFFFF to 4294967295.
open System.Globalization
open System.Numerics
let hexStrings =
[| "80"
"E293"
"F9A2FF"
"FFFFFFFF"
"080"
"0E293"
"0F9A2FF"
"0FFFFFFFF"
"0080"
"00E293"
"00F9A2FF"
"00FFFFFFFF" |]
for hexString in hexStrings do
match BigInteger.TryParse(hexString, NumberStyles.AllowHexSpecifier, null) with
| true, number -> printfn $"Converted 0x{hexString} to {number}."
| _ -> printfn $"Cannot convert '{hexString}' to a BigInteger."
// The example displays the following output:
// Converted 0x80 to -128.
// Converted 0xE293 to -7533.
// Converted 0xF9A2FF to -417025.
// Converted 0xFFFFFFFF to -1.
// Converted 0x080 to 128.
// Converted 0x0E293 to 58003.
// Converted 0x0F9A2FF to 16360191.
// Converted 0x0FFFFFFFF to 4294967295.
// Converted 0x0080 to 128.
// Converted 0x00E293 to 58003.
// Converted 0x00F9A2FF to 16360191.
// Converted 0x00FFFFFFFF to 4294967295.
Imports System.Globalization
Imports System.Numerics
Module Example
Public Sub Main()
Dim hexStrings() As String = { "80", "E293", "F9A2FF", "FFFFFFFF",
"080", "0E293", "0F9A2FF", "0FFFFFFFF",
"0080", "00E293", "00F9A2FF", "00FFFFFFFF" }
Dim number As BigInteger = BigInteger.Zero
For Each hexString As String In hexStrings
If BigInteger.TryParse(hexString, NumberStyles.AllowHexSpecifier,
Nothing, number) Then
Console.WriteLine("Converted 0x{0} to {1}.", hexString, number)
Else
Console.WriteLine("Cannot convert '{0}' to a BigInteger.", hexString)
End If
Next
End Sub
End Module
' The example displays the following output:
' Converted 0x80 to -128.
' Converted 0xE293 to -7533.
' Converted 0xF9A2FF to -417025.
' Converted 0xFFFFFFFF to -1.
' Converted 0x080 to 128.
' Converted 0x0E293 to 58003.
' Converted 0x0F9A2FF to 16360191.
' Converted 0x0FFFFFFFF to 4294967295.
' Converted 0x0080 to 128.
' Converted 0x00E293 to 58003.
' Converted 0x00F9A2FF to 16360191.
' Converted 0x00FFFFFFFF to 4294967295.
Der provider Parameter ist eine IFormatProvider Implementierung. Die GetFormat Methode gibt ein NumberFormatInfo Objekt zurück, das kulturspezifische Informationen zum Format von value. Der provider Parameter kann eine der folgenden Sein:
Ein CultureInfo Objekt, das die Kultur darstellt, die Formatierungsinformationen bereitstellt. Die GetFormat Methode gibt das NumberFormatInfo Objekt zurück, das numerische Formatierungsinformationen für diese Kultur bereitstellt.
Ein NumberFormatInfo Objekt, das numerische Formatierungsinformationen bereitstellt. (Seine Umsetzung GetFormat von nur zurückgibt.)
Ein benutzerdefiniertes IFormatProviderObjekt, das implementiert wird. Die GetFormat Methode instanziiert und gibt das Objekt zurück, das NumberFormatInfo Formatierungsinformationen bereitstellt.
Wenn provider ja null, wird das NumberFormatInfo Objekt für die aktuelle Kultur verwendet.
Weitere Informationen
Gilt für:
TryParse(ReadOnlySpan<Char>, IFormatProvider, BigInteger)
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
- Quelle:
- BigInteger.cs
Versucht, einen Bereich von Zeichen in einen Wert zu analysieren.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Numerics::BigInteger % result) = ISpanParsable<System::Numerics::BigInteger>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out System.Numerics.BigInteger result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * BigInteger -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As BigInteger) As Boolean
Parameter
- s
- ReadOnlySpan<Char>
Die Spanne der zu analysierenden Zeichen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
- result
- BigInteger
Wenn diese Methode zurückgegeben wird, enthält das Ergebnis der erfolgreichen Analyse oder eines nicht definierten Werts sfür fehler.
Gibt zurück
truewenn s erfolgreich analysiert wurde; andernfalls . false