(0) exportieren Drucken
Alle erweitern

Decimal.Parse-Methode (String, NumberStyles)

Aktualisiert: November 2007

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil in die Decimal-Entsprechung.

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

public static decimal Parse(
	string s,
	NumberStyles style
)
public static Decimal Parse(
	String s,
	NumberStyles style
)
public static function Parse(
	s : String, 
	style : NumberStyles
) : decimal

Parameter

s
Typ: System.String
Die Zeichenfolgendarstellung der zu konvertierenden Zahl.
style
Typ: 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.

Rückgabewert

Typ: System.Decimal
Die Decimal-Zahl, die gemäß den Angaben in style der in s enthaltenen Zahl entspricht.

AusnahmeBedingung
ArgumentNullException

s ist null.

ArgumentException

style ist kein NumberStyles-Wert.

- oder -

style ist der AllowHexSpecifier-Wert.

FormatException

s weist nicht das richtige Format auf.

OverflowException

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

Der style-Parameter definiert die Stilelemente (wie Tausendertrennzeichen, Leerraum und Währungssymbole), die im s-Parameter zulässig sind, damit der Analysevorgang ordnungsgemäß ausgeführt werden kann. Hierbei muss es sich um eine Kombination von Bitflags aus der NumberStyles-Enumeration handeln. Die folgenden NumberStyles-Member werden nicht unterstützt:

Je nach dem Wert von style kann der s-Parameter die folgenden Elemente enthalten:

[LR][$][Vorzeichen][Ziffern,]Ziffern[.Bruchziffern][e[Vorzeichen]Ziffern][LR]

Elemente in eckigen Klammern ("["und"]") sind optional. In der folgenden Tabelle werden die einzelnen Elemente beschrieben.

Element

Beschreibung

ws

Optionaler Leerraum. Leerraum kann am Anfang von s stehen, wenn style das NumberStyles.AllowLeadingWhite-Flag enthält. Leeraum kann auch am Ende von s enthalten sein, wenn style das NumberStyles.AllowTrailingWhite-Flag enthält.

$

Ein kulturspezifisches Währungssymbol. Seine Position in der Zeichenfolge wird von der NumberFormatInfo.CurrencyNegativePattern-Eigenschaft und der NumberFormatInfo.CurrencyPositivePattern-Eigenschaft der aktuellen Kultur bestimmt. Das Währungssymbol der aktuellen Kultur kann in s angezeigt werden, wenn style das NumberStyles.AllowCurrencySymbol-Flag enthält.

Vorzeichen

Ein optionales Vorzeichen. Das Vorzeichen kann am Anfang von s stehen, wenn style das NumberStyles.AllowLeadingSign-Flag enthält. Das Vorzeichen kann auch am Ende von s enthalten sein, wenn style das NumberStyles.AllowTrailingSign-Flag enthält. Klammern können in s verwendet werden, um einen negativen Wert anzugeben, wenn style das NumberStyles.AllowParentheses-Flag enthält.

Ziffern

Eine Folge von Ziffern zwischen 0 (null) und 9.

,

Ein kulturspezifisches Tausendertrennzeichen. Das Tausendertrennzeichen der aktuellen Kultur kann in s angezeigt werden, wenn style das NumberStyles.AllowThousands-Flag enthält.

.

Ein kulturabhängiges Dezimaltrennzeichen. Das Dezimaltrennzeichen der aktuellen Kultur kann in s angezeigt werden, wenn style das NumberStyles.AllowDecimalPoint-Flag enthält.

Bruchziffern

Eine Folge von Ziffern zwischen 0 (null) und 9. Bruchziffern können nur dann in s enthalten sein, wenn style das NumberStyles.AllowDecimalPoint-Flag enthält.

e

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

Eine Zeichenfolge, die ausschließlich Ziffern enthält (dies entspricht dem None-Stil), wird immer erfolgreich analysiert. Die übrigen NumberStyles-Member steuern Elemente, die nicht unbedingt in der Eingabezeichenfolge enthalten sein müssen. In der folgenden Tabelle wird angegeben, wie sich einzelne NumberStyles-Member auf die Elemente auswirken, die in s vorhanden sein können.

NumberStyles-Wert

Elemente, die neben Ziffern in s zulässig sind

None

Nur das Ziffern-Element.

AllowDecimalPoint

Das .-Element und das Bruchziffern-Element.

AllowExponent

Für den s-Parameter kann auch die Exponentialschreibweise verwendet werden. Dieses Flag unterstützt Werte im Format ZiffernEZiffern. Zum erfolgreichen Analysieren von Zeichenfolgen mit Elementen wie positiven und negativen Vorzeichen und Dezimaltrennzeichen sind weitere Flags erforderlich.

AllowLeadingWhite

Das LR-Element am Anfang von s.

AllowTrailingWhite

Das LR-Element am Ende von s.

AllowLeadingSign

Das Vorzeichen-Element am Anfang von s.

AllowTrailingSign

Das Vorzeichen-Element am Ende von s.

AllowParentheses

Das Vorzeichen-Element in Form von Klammern, die den numerischen Wert einschließen.

AllowThousands

Das ,-Element.

AllowCurrencySymbol

Das $-Element.

Currency

Alle. Der s-Parameter kann keine Hexadezimalzahlen oder Zahlen in Exponentialschreibweise darstellen.

Float

Das LR-Element am Anfang oder am Ende von s, Vorzeichen am Anfang von s und das Zeichen .. Für den s-Parameter kann auch die Exponentialschreibweise verwendet werden.

Number

Die Elemente ws, sign, , und ..

Any

Alle Stile, mit Ausnahme von s, können keine Hexadezimalzahlen darstellen.

Der s-Parameter wird mithilfe der Formatierungsinformationen in einem NumberFormatInfo-Objekt analysiert, das für die aktuelle Systemkultur initialisiert wurde. Weitere Informationen finden Sie unter CurrentInfo.

Ein Decimal hat eine Genauigkeit von 29 Stellen. Wenn s eine Zahl zwischen MaxValue und MinValue mit mehr als 29 Stellen und einem Teil mit Bruchzahlen darstellt, wird die Zahl nicht abgeschnitten, sondern auf 29 Stellen gerundet, wobei auf den nächsten Wert gerundet wird.

Wenn während eines Analysevorgangs im s-Parameter ein Trennzeichen gefunden wird, styles den NumberStyles.AllowThousands-Wert und den NumberStyles.AllowDecimalPoint-Wert enthält und die Dezimal- und Gruppentrennzeichen für Währungs- und Zahlenangaben identisch sind, dann wertet der Analysevorgang das Trennzeichen als Dezimaltrennzeichen und nicht als Gruppentrennzeichen. Weitere Informationen über Trennzeichen finden Sie unter CurrencyDecimalSeparator, NumberDecimalSeparator, CurrencyGroupSeparator und NumberGroupSeparator.

Im folgenden Codebeispiel wird die Parse(String, NumberStyles)-Methode verwendet, um die Zeichenfolgendarstellungen von Decimal-Werten mit der Kultur en-US darzustellen.

string value;
decimal number;
NumberStyles style;

// Parse string with a floating point value using NumberStyles.None. 
value = "8694.12";
style = NumberStyles.None;
try
{
   number = Decimal.Parse(value, style);  
   Console.WriteLine("'{0}' converted to {1}.", value, number);
}
catch (FormatException)
{
   Console.WriteLine("Unable to parse '{0}'.", value);
}
// Displays:
//    Unable to parse '8694.12'.

// Parse string with a floating point value and allow decimal point. 
style = NumberStyles.AllowDecimalPoint;
number = Decimal.Parse(value, style);  
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '8694.12' converted to 8694.12.

// Parse string with negative value in parentheses
value = "(1,789.34)";
style = NumberStyles.AllowDecimalPoint | NumberStyles.AllowThousands | 
        NumberStyles.AllowParentheses; 
number = Decimal.Parse(value, style);  
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '(1,789.34)' converted to -1789.34.

// Parse string using Number style
value = " -17,623.49 ";
style = NumberStyles.Number;
number = Decimal.Parse(value, style);  
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    ' -17,623.49 ' converted to -17623.49.


Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98, Windows CE, Windows Mobile für Smartphone, Windows Mobile für Pocket PC, Xbox 360

.NET Framework und .NET Compact Framework unterstützen nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

.NET Framework

Unterstützt in: 3.5, 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 3.5, 2.0, 1.0

XNA Framework

Unterstützt in: 2.0, 1.0

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft