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

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

 

Veröffentlicht: Oktober 2016

Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen Stil und einem kulturspezifischen Format in die entsprechende 16-Bit-Ganzzahl mit Vorzeichen.

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

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

Parameter

s
Type: System.String

Eine Zeichenfolge, die die zu konvertierende Zahl enthält.

style
Type: System.Globalization.NumberStyles

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

provider
Type: System.IFormatProvider

Eine IFormatProvider-Schnittstelle, die kulturspezifische Formatierungsinformationen zu s bereitstellt.

Rückgabewert

Type: System.Int16

Eine 16-Bit-Ganzzahl mit Vorzeichen, die der Zahl in s entspricht.

Exception Condition
ArgumentNullException

s ist null.

ArgumentException

style ist kein NumberStyles-Wert.

- oder -

style ist keine Kombination von AllowHexSpecifier- und HexNumber-Werten.

FormatException

s weist kein mit style kompatibles Format auf.

OverflowException

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

- oder -

s enthält Dezimalstellen ungleich 0 (null).

Die style Parameter definiert, die die Stilelemente (wie Leerraum oder das positiven Vorzeichen), die in zulässig sind die s Parameter, damit der Analysevorgang erfolgreich ausgeführt werden kann. Es muss eine Kombination von Bitflags aus der NumberStyles Enumeration. Abhängig vom Wert der style, der s -Parameter die folgenden Elemente enthalten:

[ws] [$] [anmelden] [Ziffern,] Ziffern [.fractional_digits] [e [Vorzeichen] Ziffern] [ws]

Oder, wenn style enthält AllowHexSpecifier:

[ws] Hexdigits [ws]

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

Element

Beschreibung

ws

Optionaler Leerraum. Leerraum kann am Anfang stehen s Wenn style enthält die NumberStyles.AllowLeadingWhite -Flag oder am Ende des s Wenn style enthält die NumberStyles.AllowTrailingWhite Flag.

$

Eine kulturspezifische Währungssymbol. Seine Position in der Zeichenfolge wird definiert, durch die NumberFormatInfo.CurrencyPositivePattern und NumberFormatInfo.CurrencyNegativePattern -Eigenschaft der aktuellen Kultur. Das Währungssymbol der aktuellen Kultur kann angezeigt werden, s Wenn style enthält die NumberStyles.AllowCurrencySymbol Flag.

Vorzeichen

Ein optionalen Vorzeichen. Das Vorzeichen kann am Anfang stehen s Wenn style enthält die NumberStyles.AllowLeadingSign Flag stehen am Ende des s Wenn style enthält die NumberStyles.AllowTrailingSign Flag. Klammern können verwendet werden, s um einen negativen Wert anzugeben, ob style enthält die NumberStyles.AllowParentheses Flag.

Ziffern

Eine Folge von Ziffern von 0 bis 9.

,

Ein kulturspezifisches Tausendertrennzeichen Trennzeichen. Tausendertrennzeichen der aktuellen Kultur als Trennzeichen kann angezeigt werden, s Wenn style enthält die NumberStyles.AllowThousands Flag.

.

Eine kulturspezifische Dezimaltrennzeichen. In der aktuellen Kultur Dezimaltrennzeichen angezeigt werden kann s Wenn style enthält die NumberStyles.AllowDecimalPoint Flag.

Bruchziffern

Eine Sequenz von die Ziffer 0. Bruchziffern können angezeigt werden, s Wenn style enthält die NumberStyles.AllowDecimalPoint Flag. Wenn eine beliebige Ziffer 0 wird, in angezeigt Bruchziffern, löst die Methode eine OverflowException.

e

Das "e" oder "E"-Zeichen, das anzeigt, dass s in Exponentialschreibweise dargestellt werden kann. Die s Parameter kann eine Zahl in Exponentialschreibweise darstellen, wenn style enthält die NumberStyles.AllowExponent Flag. Allerdings die s Parameter muss eine Zahl im Bereich von darstellen, die Int16 -Datentyp und eine Bruchziffern ungleich NULL.

hexdigits

Eine Sequenz von hexadezimalen Ziffern von 0 bis f oder 0 bis F.

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

Nicht zusammengesetzte NumberStyles-Werte

Elemente, die neben Ziffern in s zulässig

NumberStyles.None

Nur Dezimalstellen.

NumberStyles.AllowDecimalPoint

Die . und Bruchziffern Elemente. Allerdings Bruchziffern muss mindestens 0 bestehen oder ein OverflowException ausgelöst.

NumberStyles.AllowExponent

Die s Parameter können auch Exponentialschreibweise.

NumberStyles.AllowLeadingWhite

Die ws Element am Anfang des s.

NumberStyles.AllowTrailingWhite

Die ws Element am Ende des s.

NumberStyles.AllowLeadingSign

Eine Anmeldung kann angezeigt werden, bevor Ziffern.

NumberStyles.AllowTrailingSign

Eine Anmeldung kann angezeigt werden, nach dem Ziffern.

NumberStyles.AllowParentheses

Die Anmelden Element in Form von Klammern, die den numerischen Wert einschließen.

NumberStyles.AllowThousands

Die , Element.

NumberStyles.AllowCurrencySymbol

Die $ Element.

Wenn die NumberStyles.AllowHexSpecifier Flag verwendet wird, s die Zeichenfolgendarstellung eines Hexadezimalwerts ohne Präfix werden muss. Z. B. "9AF3" erfolgreich analysiert, "0x9AF3" jedoch nicht... Die einzigen anderen Flags, die in vorhanden sein können style sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles -Enumeration weist ein zusammengesetztes Zahlenformat NumberStyles.HexNumber, beide Flags Leerzeichen enthält.)

Der provider -Parameter ist ein IFormatProvider Implementierung, deren GetFormat -Methode erhält ein NumberFormatInfo Objekt. Das NumberFormatInfo Objekt stellt kulturspezifische Informationen zum Format von s. Wenn provider ist null, die NumberFormatInfo -Objekt für die aktuelle Kultur verwendet.

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

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

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

number = Int16.Parse(value, style, provider);
Console.WriteLine("'{0}' converted to {1}.", value, number);
// Displays:
//    '19 694,00' converted to 19694.

try
{
   number = Int16.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 '19 694,00'.

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

try
{
   number = Int16.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 '$6,032.00'.

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

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: