Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

Decimal.Parse-Methode: (String, NumberStyles, IFormatProvider)

 

Veröffentlicht: Oktober 2016

Konvertiert die Zeichenfolgendarstellung einer Zahl unter Verwendung des angegebenen Stils und kulturspezifischer Formatierungsinformationen in die Decimal-Entsprechung.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

public static decimal Parse(
	string s,
	NumberStyles style,
	IFormatProvider provider
)

Parameter

s
Type: System.String

Die Zeichenfolgendarstellung der zu konvertierenden Zahl.

style
Type: System.Globalization.NumberStyles

Eine bitweise Kombination von NumberStyles-Werten, die die Stilelemente angeben, die in s vorhanden sein können. Ein häufig angegebener Wert ist Number.

provider
Type: System.IFormatProvider

Ein IFormatProvider-Objekt, das kulturspezifische Informationen zum Format von s bereitstellt.

Rückgabewert

Type: System.Decimal

Die Decimal-Zahl, die gemäß den Angaben in s und style der in provider enthaltenen Zahl entspricht.

Exception Condition
FormatException

s weist nicht das richtige Format auf.

OverflowException

s stellt eine Zahl dar, die kleiner als MinValue oder größer als MaxValue ist.

ArgumentNullException

s ist null.

ArgumentException

style ist kein NumberStyles-Wert.

- oder -

style ist der AllowHexSpecifier-Wert.

Die style Parameter definiert das zulässige Format von der s Parameter, damit der Analysevorgang erfolgreich ausgeführt werden kann. Es muss eine Kombination von Bitflags aus der NumberStyles Enumeration. Die folgenden NumberStyles Elemente werden nicht unterstützt:

Abhängig vom Wert der styledie s -Parameter enthält möglicherweise die folgenden Elemente:

[ws] [$] [anmelden] [Ziffern] Ziffern [.fractional-Ziffern] [-e [Anmeldung] Ziffern] [ws]

Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle wird jedes Element beschrieben.

Element

Beschreibung

$

Eine kulturspezifische Währungssymbol. Seine Position in der Zeichenfolge wird definiert, indem die CurrencyNegativePattern und CurrencyPositivePattern Eigenschaften der NumberFormatInfo zurückgegebenes Objekt die GetFormat Methode der provider Parameter. Das Währungssymbol stehen s Wenn style enthält die NumberStyles.AllowCurrencySymbol Flag.

ws

Optionaler Leerraum. Leerzeichen am Anfang stehen s Wenn style enthält die NumberStyles.AllowLeadingWhite Flag kann angezeigt werden, am Ende der s Wenn style enthält die NumberStyles.AllowTrailingWhite Flag.

Vorzeichen

Einem optionalen Vorzeichen. Die Zeichen am Anfang stehen s Wenn style enthält die NumberStyles.AllowLeadingSign Flag kann angezeigt werden, am Ende der s Wenn style enthält die NumberStyles.AllowTrailingSign Flag. Klammern können verwendet werden, s zum Angeben eines negativen Werts Wenn style enthält die NumberStyles.AllowParentheses Flag.

Ziffern

Eine Folge von Ziffern zwischen 0 und 9.

,

Eine kulturspezifische Tausende Trennzeichen. Das Tausendertrennzeichen Trennzeichen der Kultur definiert wird, indem Sie provider erscheinen s Wenn style enthält die NumberStyles.AllowThousands Flag.

.

Eine kulturspezifische Dezimaltrennzeichen. Der Kultur definiert wird, indem Sie das Dezimaltrennzeichen provider erscheinen s Wenn style enthält die NumberStyles.AllowDecimalPoint Flag.

Dezimalstellen sind

Eine Folge von Ziffern zwischen 0 und 9. Dezimalstellen erscheinen s nur, wenn style enthält die NumberStyles.AllowDecimalPoint Flag.

e

Die "e" oder "E"-Zeichen, das gibt an, dass der Wert in Exponentialschreibweise dargestellt wird. Die s Parameter kann eine Zahl in Exponentialschreibweise darstellen, wenn style enthält die NumberStyles.AllowExponent Flag.

Eine Zeichenfolge mit nur-Ziffern (entspricht der None Stil) immer erfolgreich analysiert. Die verbleibenden NumberStyles Member steuern Elemente, die nicht unbedingt in der Eingabezeichenfolge vorhanden sein. In der folgenden Tabelle gibt an, wie einzelne NumberStyles Mitglieder Auswirkungen auf die Elemente, die möglicherweise vorhandene in s.

NumberStyles-Wert

Elemente in s neben Ziffern zulässig

None

Die Ziffern nur Element.

AllowDecimalPoint

Die . und Dezimalstellen Elemente.

AllowExponent

Die s Parameter können auch Exponentialschreibweise. Dieses Flag unterstützt Werte im Formular ZiffernEZiffern; zusätzliche Flags sind erforderlich, um Zeichenfolgen mit Elementen, z. B. positive oder negative Vorzeichen und Dezimaltrennzeichen erfolgreich analysiert.

AllowLeadingWhite

Die ws Element am Anfang des s.

AllowTrailingWhite

Die ws Element am Ende der s.

AllowLeadingSign

Die Anmeldung Element am Anfang des s.

AllowTrailingSign

Die Anmeldung Element am Ende der s.

AllowParentheses

Die Anmeldung Element in Form von Klammern einschließen des numerischen Werts.

AllowThousands

Die , Element.

AllowCurrencySymbol

Die $ Element.

Currency

Alle Die s Parameter keine hexadezimale Zahl oder einer Zahl in Exponentialschreibweise darstellen.

Float

Die ws Element am Anfang oder Ende des s, Anmeldung am Anfang des s, und die .Symbol. Die s Parameter können auch Exponentialschreibweise.

Number

The ws, sign, ,, and . elements.

Any

Alle Formatvorlagen außer s eine hexadezimale Zahl nicht darstellen kann.

Die provider Parameter ist ein IFormatProvider Implementierung, z. B. eine NumberFormatInfo oder CultureInfo Objekt. Die provider Parameter liefert kulturspezifische Informationen, die bei der Analyse verwendet. Wenn provider gleich null ist, wird die aktuelle Threadkultur verwendet.

Ein Decimal Objekt hat die Genauigkeit von 29 Stellen. Wenn s eine Zahl ein, die mehr als 29 Stellen jedoch einen Teil mit Bruchzahlen und wird innerhalb des Bereichs von MaxValue und MinValue, die Zahl gerundet wird, nicht auf 29 Ziffern, die in den nächsten gekürzt.

Wenn es eine Trennzeichen in kommt die s Parameter, während ein Analysevorgang und der geltenden Währung oder die Anzahl von Dezimalstellen und Gruppentrennzeichen stimmen überein, der Analysevorgang wird davon ausgegangen, dass das Trennzeichen ein Dezimaltrennzeichen und Gruppentrennzeichen ist. Weitere Informationen über Trennzeichen finden Sie unter CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator, und NumberGroupSeparator.

Im folgenden Beispiel wird eine Vielzahl von style und provider Parameter analysiert die zeichenfolgendarstellungen Decimal Werte.

string value;
decimal number;
NumberStyles style;
CultureInfo provider;

// Parse string using "." as the thousands separator 
// and " " as the decimal separator. 
value = "892 694,12";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands;
provider = new CultureInfo("fr-FR");

number = Decimal.Parse(value, style, provider);  
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays: 
//    892 694,12' converted to 892694.12.

try
{
   number = Decimal.Parse(value, style, CultureInfo.InvariantCulture);  
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}   
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays: 
//    Unable to parse '892 694,12'.  

// Parse string using "$" as the currency symbol for en-GB and  
// en-us cultures.
value = "$6,032.51";
style = NumberStyles.Number | NumberStyles.AllowCurrencySymbol;
provider = new CultureInfo("en-GB");

try
{
   number = Decimal.Parse(value, style, provider);  
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}   
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays: 
//    Unable to parse '$6,032.51'.

provider = new CultureInfo("en-US");
number = Decimal.Parse(value, style, provider);  
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays: 
//    '$6,032.51' converted to 6032.51.

Universelle Windows-Plattform
Verfügbar seit 8
.NET Framework
Verfügbar seit 1.1
Portierbare Klassenbibliothek
Unterstützt in: portierbare .NET-Plattformen
Silverlight
Verfügbar seit 2.0
Windows Phone Silverlight
Verfügbar seit 7.0
Windows Phone
Verfügbar seit 8.1
Zurück zum Anfang
Anzeigen: