Int16.Parse 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.
Konvertiert die Zeichenfolgendarstellung einer Zahl in die 16-Bit-ganzzahlige Entsprechung mit Vorzeichen.
Überlädt
| Name | Beschreibung |
|---|---|
| Parse(String, NumberStyles, IFormatProvider) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in einer angegebenen Formatvorlage und einem kulturspezifischen Format in dessen 16-Bit-Ganzzahläquivalent. |
| Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Konvertiert die Spandarstellung einer Zahl in einem angegebenen Format und kulturspezifischen Format in dessen 16-Bit-Ganzzahläquivalent. |
| Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider) |
Analysiert eine Spanne von UTF-8 Zeichen in einen Wert. |
| Parse(String, IFormatProvider) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturspezifischen Format in dessen 16-Bit-Ganzzahläquivalent. |
| Parse(String) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in die 16-Bit-ganzzahlige Entsprechung mit Vorzeichen. |
| Parse(ReadOnlySpan<Char>, IFormatProvider) |
Analysiert eine Spanne von Zeichen in einen Wert. |
| Parse(ReadOnlySpan<Byte>, IFormatProvider) |
Analysiert eine Spanne von UTF-8 Zeichen in einen Wert. |
| Parse(String, NumberStyles) |
Konvertiert die Zeichenfolgendarstellung einer Zahl in einer angegebenen Formatvorlage in die 16-Bit-ganzzahlige Entsprechung mit Vorzeichen. |
Parse(String, NumberStyles, IFormatProvider)
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
Konvertiert die Zeichenfolgendarstellung einer Zahl in einer angegebenen Formatvorlage und einem kulturspezifischen Format in dessen 16-Bit-Ganzzahläquivalent.
public:
static short Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public:
static short Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider) = System::Numerics::INumberBase<short>::Parse;
public static short Parse(string s, System.Globalization.NumberStyles style, IFormatProvider provider);
public static short Parse(string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> int16
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As Short
Parameter
- s
- String
Eine Zeichenfolge, die eine zahl enthält, die konvertiert werden soll.
- style
- NumberStyles
Eine bitweise Kombination von Enumerationswerten, die die Formatvorlagenelemente angibt, in sdenen vorhanden sein kann. Ein typischer Wert, der angegeben werden soll, ist Integer.
- provider
- IFormatProvider
Eine IFormatProvider , die kulturspezifische Formatierungsinformationen zu s.
Gibt zurück
Eine 16-Bit-Ganzzahl mit Vorzeichen, die der in s.
Implementiert
Ausnahmen
s ist null.
style ist kein NumberStyles Wert.
-oder-
style ist keine Kombination von AllowHexSpecifier und HexNumber Werten.
s ist nicht in einem Format kompatibel mit style.
s stellt eine Zahl kleiner als Int16.MinValue oder größer als Int16.MaxValue dar.
-oder-
s enthält Dezimalstellen, die nicht null sind.
Beispiele
Im folgenden Beispiel wird eine Vielzahl von style und provider Parameter verwendet, um die Zeichenfolgendarstellungen von Int16 Werten zu analysieren.
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.
// Parse string using "." as the thousands separator
// and " " as the decimal separator.
let value = "19 694,00"
let style = NumberStyles.AllowDecimalPoint ||| NumberStyles.AllowThousands
let provider = CultureInfo "fr-FR"
let number = Int16.Parse(value, style, provider)
printfn $"'{value}' converted to {number}."
// Displays:
// '19 694,00' converted to 19694.
try
let number = Int16.Parse(value, style, CultureInfo.InvariantCulture)
printfn $"'{value}' converted to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
// Displays:
// Unable to parse '19 694,00'.
// Parse string using "$" as the currency symbol for en_GB and
// en-US cultures.
let value = "$6,032.00"
let style = NumberStyles.Number ||| NumberStyles.AllowCurrencySymbol
try
let number = Int16.Parse(value, style, CultureInfo.InvariantCulture)
printfn $"'{value}' converted to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
// Displays:
// Unable to parse '$6,032.00'.
let provider = CultureInfo "en-US"
let number = Int16.Parse(value, style, provider)
printfn $"'{value}' converted to {number}."
// Displays:
// '$6,032.00' converted to 6032.
Dim value As String
Dim number As Short
Dim style As NumberStyles
Dim provider As CultureInfo
' Parse string using "." as the thousands separator
' and " " as the decimal separator.
value = "19 694,00"
style = NumberStyles.AllowDecimalPoint Or 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 e As FormatException
Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' 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 Or NumberStyles.AllowCurrencySymbol
provider = New CultureInfo("en-GB")
Try
number = Int16.Parse(value, style, CultureInfo.InvariantCulture)
Console.WriteLine("'{0}' converted to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' 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.
Hinweise
Der style Parameter definiert die Formatvorlagenelemente (z. B. Leerzeichen oder das positive Zeichen), die im s 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 s Parameter die folgenden Elemente enthalten:
[ws] [$] [Zeichen] [Ziffern;]Ziffern[.fractional_digits][e[Zeichen][Zeichen][ws]
Oder, wenn style umfasst AllowHexSpecifier:
[ws]hexdigits[ws]
Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle werden die einzelnen Elemente beschrieben.
| Element | Beschreibung |
|---|---|
| Ws | Optionaler Leerraum. Leerzeichen können am Anfang angezeigt s werden, wenn style die NumberStyles.AllowLeadingWhite Kennzeichnung enthalten ist, oder am Ende, s wenn style die NumberStyles.AllowTrailingWhite Kennzeichnung enthalten ist. |
| $ | Ein kulturspezifisches Währungssymbol. Seine Position in der Zeichenfolge wird durch die NumberFormatInfo.CurrencyPositivePattern Eigenschaften NumberFormatInfo.CurrencyNegativePattern der aktuellen Kultur definiert. Das Währungssymbol der aktuellen Kultur kann angezeigt werden s , wenn style die NumberStyles.AllowCurrencySymbol Kennzeichnung enthalten ist. |
| Zeichen | Ein optionales Zeichen. Das Zeichen kann am Anfang des s Zeichens angezeigt werden, wenn style das NumberStyles.AllowLeadingSign Kennzeichen enthalten ist, und es kann am Ende s angezeigt werden, wenn style das NumberStyles.AllowTrailingSign Kennzeichen enthalten ist. Klammern können verwendet s 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 Tausendertrennzeichen. Das Tausendertrennzeichen der aktuellen Kultur kann angezeigt werden s , wenn style die NumberStyles.AllowThousands Kennzeichnung enthalten ist. |
| . | Ein kulturspezifisches Dezimalkommasymbol. Das Dezimalkommasymbol der aktuellen Kultur kann angezeigt werden s , wenn style das NumberStyles.AllowDecimalPoint Kennzeichen enthalten ist. |
| fractional_digits | Eine Sequenz der 0-Ziffer. Dezimalstellen können angezeigt s werden, wenn style die NumberStyles.AllowDecimalPoint Kennzeichnung enthalten ist. Wenn eine andere Ziffer als 0 in fractional_digits angezeigt wird, löst die Methode eine OverflowException. |
| e | Das Zeichen "e" oder "E", das angibt, dass s in exponentieller Schreibweise dargestellt werden kann. Der s Parameter kann eine Zahl in exponentieller Notation darstellen, wenn style das NumberStyles.AllowExponent Flag enthalten ist. Der s Parameter muss jedoch eine Zahl im Bereich des Int16 Datentyps darstellen und keine Nicht-Null-Bruchkomponente aufweisen. |
| hexdigits | Eine Abfolge von hexadezimalen Ziffern von 0 bis f oder 0 bis F. |
Anmerkung
Alle endenden NUL-Zeichen s (U+0000) werden unabhängig vom Wert des style Arguments vom Analysevorgang ignoriert.
Eine Zeichenfolge mit Ziffern (die der NumberStyles.None Formatvorlage entspricht) analysiert immer erfolgreich. Die meisten der verbleibenden NumberStyles Elemente steuern Elemente, die möglicherweise vorhanden, aber nicht in dieser Eingabezeichenfolge vorhanden sein müssen. In der folgenden Tabelle wird angegeben, wie sich einzelne NumberStyles Member auf die Elemente auswirken, die möglicherweise svorhanden sind.
| Nicht zusammengesetzte NumberStyles-Werte | Elemente, die zusätzlich zu Ziffern in s zulässig sind |
|---|---|
| NumberStyles.None | Nur Dezimalziffern. |
| NumberStyles.AllowDecimalPoint | Die Elemente . und fractional_digits . Fractional_digits darf jedoch nur aus einer oder mehreren 0 Ziffern bestehen oder wird OverflowException ausgelöst. |
| NumberStyles.AllowExponent | Der s Parameter kann auch exponentielle Notation verwenden. |
| NumberStyles.AllowLeadingWhite | Das ws-Element am Anfang von s. |
| NumberStyles.AllowTrailingWhite | Das ws-Element am Ende von s. |
| NumberStyles.AllowLeadingSign | Ein Zeichen kann vor Ziffern angezeigt werden. |
| NumberStyles.AllowTrailingSign | Ein Zeichen kann nach Ziffern angezeigt werden. |
| NumberStyles.AllowParentheses | Das Zeichenelement in Form von Klammern, die den numerischen Wert einschließen. |
| NumberStyles.AllowThousands | Das , -Element. |
| NumberStyles.AllowCurrencySymbol | Das $ Element. |
Wenn das NumberStyles.AllowHexSpecifier Kennzeichen verwendet wird, s muss es sich um die Zeichenfolgendarstellung eines Hexadezimalwerts ohne Präfix sein. Beispielsweise analysiert "9AF3" erfolgreich, aber "0x9AF3" nicht.. Die einzigen anderen Flags, die style vorhanden sein können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles Aufzählung weist eine zusammengesetzte Zahlenformatvorlage auf, NumberStyles.HexNumberdie beide Leerzeichen-Flags enthält.)
Der provider Parameter ist eine IFormatProvider Implementierung, deren GetFormat Methode ein NumberFormatInfo Objekt abruft. Das NumberFormatInfo Objekt stellt kulturspezifische Informationen zum Format von s. Wenn provider ja null, wird das NumberFormatInfo Objekt für die aktuelle Kultur verwendet.
Weitere Informationen
Gilt für:
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
Konvertiert die Spandarstellung einer Zahl in einem angegebenen Format und kulturspezifischen Format in dessen 16-Bit-Ganzzahläquivalent.
public static short Parse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
public static short Parse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = default);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> int16
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As Short
Parameter
- s
- ReadOnlySpan<Char>
Eine Spanne mit den Zeichen, die die zu konvertierende Zahl darstellen.
- style
- NumberStyles
Eine bitweise Kombination von Enumerationswerten, die die Formatvorlagenelemente angibt, in sdenen vorhanden sein kann. Ein typischer Wert, der angegeben werden soll, ist Integer.
- provider
- IFormatProvider
Eine IFormatProvider , die kulturspezifische Formatierungsinformationen zu s.
Gibt zurück
Eine 16-Bit-Ganzzahl mit Vorzeichen, die der in s.
Implementiert
Gilt für:
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
Analysiert eine Spanne von UTF-8 Zeichen in einen Wert.
public static short Parse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider -> int16
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As Short
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Die Spanne von UTF-8 Zeichen, die analysiert werden sollen.
- style
- NumberStyles
Eine bitweise Kombination aus Zahlenformatvorlagen, die vorhanden utf8Textsein können.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu utf8Text.
Gibt zurück
Das Ergebnis der Analyse utf8Text.
Implementiert
Gilt für:
Parse(String, IFormatProvider)
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
Konvertiert die Zeichenfolgendarstellung einer Zahl in einem angegebenen kulturspezifischen Format in dessen 16-Bit-Ganzzahläquivalent.
public:
static short Parse(System::String ^ s, IFormatProvider ^ provider);
public:
static short Parse(System::String ^ s, IFormatProvider ^ provider) = IParsable<short>::Parse;
public static short Parse(string s, IFormatProvider provider);
public static short Parse(string s, IFormatProvider? provider);
static member Parse : string * IFormatProvider -> int16
Public Shared Function Parse (s As String, provider As IFormatProvider) As Short
Parameter
- s
- String
Eine Zeichenfolge, die eine zahl enthält, die konvertiert werden soll.
- provider
- IFormatProvider
Eine IFormatProvider , die kulturspezifische Formatierungsinformationen zu s.
Gibt zurück
Eine 16-Bit-Ganzzahl mit Vorzeichen, die der in s.
Implementiert
Ausnahmen
s ist null.
s ist nicht im richtigen Format vorhanden.
s stellt eine Zahl kleiner als Int16.MinValue oder größer als Int16.MaxValue dar.
Beispiele
Im folgenden Beispiel werden Zeichenfolgendarstellungen von Int16 Werten mit der Int16.Parse(String, IFormatProvider) Methode analysiert.
string stringToConvert;
short number;
stringToConvert = " 214 ";
try
{
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture);
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException)
{
Console.WriteLine("'{0'} is out of range of the Int16 data type.",
stringToConvert);
}
stringToConvert = " + 214";
try
{
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture);
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException)
{
Console.WriteLine("'{0'} is out of range of the Int16 data type.",
stringToConvert);
}
stringToConvert = " +214 ";
try
{
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture);
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException)
{
Console.WriteLine("'{0'} is out of range of the Int16 data type.",
stringToConvert);
}
// The example displays the following output to the console:
// Converted ' 214 ' to 214.
// Unable to parse ' + 214'.
// Converted ' +214 ' to 214.
let stringToConvert = " 214 "
try
let number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
printfn $"Converted '{stringToConvert}' to {number}."
with
| :? FormatException ->
printfn $"Unable to parse '{stringToConvert}'."
| :? OverflowException ->
printfn $"'{stringToConvert}' is out of range of the Int16 data type."
let stringToConvert = " + 214"
try
let number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
printfn $"Converted '{stringToConvert}' to {number}."
with
| :? FormatException ->
printfn $"Unable to parse '{stringToConvert}'."
| :? OverflowException ->
printfn $"'{stringToConvert}' is out of range of the Int16 data type."
let stringToConvert = " +214 "
try
let number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
printfn $"Converted '{stringToConvert}' to {number}."
with
| :? FormatException ->
printfn $"Unable to parse '{stringToConvert}'."
| :? OverflowException ->
printfn $"'{stringToConvert}' is out of range of the Int16 data type."
// The example displays the following output to the console:
// Converted ' 214 ' to 214.
// Unable to parse ' + 214'.
// Converted ' +214 ' to 214.
Dim stringToConvert As String
Dim number As Short
stringToConvert = " 214 "
Try
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", stringToConvert)
Catch e As OverflowException
Console.WriteLine("'{0'} is out of range of the Int16 data type.", _
stringToConvert)
End Try
stringToConvert = " + 214"
Try
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", stringToConvert)
Catch e As OverflowException
Console.WriteLine("'{0'} is out of range of the Int16 data type.", _
stringToConvert)
End Try
stringToConvert = " +214 "
Try
number = Int16.Parse(stringToConvert, CultureInfo.InvariantCulture)
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", stringToConvert)
Catch e As OverflowException
Console.WriteLine("'{0'} is out of range of the Int16 data type.", _
stringToConvert)
End Try
' The example displays the following output to the console:
' Converted ' 214 ' to 214.
' Unable to parse ' + 214'.
' Converted ' +214 ' to 214.
Hinweise
Der s Parameter enthält eine Zahl des Formulars:
[ws] [Zeichen]Ziffern[ws]
Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle werden die einzelnen Elemente beschrieben.
| Element | Beschreibung |
|---|---|
| Ws | Optionaler Leerraum. |
| Zeichen | Ein optionales Zeichen. |
| Ziffern | Eine Sequenz von Ziffern zwischen 0 und 9. |
Der s Parameter wird mithilfe der NumberStyles.Integer Formatvorlage interpretiert. Neben Dezimalziffern sind nur führende und nachfolgende Leerzeichen zusammen mit einem vorangestellten Zeichen zulässig s. Wenn Sie die Formatvorlagenelemente explizit zusammen mit den kulturspezifischen Formatierungsinformationen definieren möchten, die vorhanden ssein können, verwenden Sie die Int16.Parse(String, NumberStyles, IFormatProvider) Methode.
Der provider Parameter ist eine IFormatProvider Implementierung, die ein NumberFormatInfo Objekt abruft. Das NumberFormatInfo bietet kulturspezifische Informationen zum Format von s. Wenn provider ja null, wird die NumberFormatInfo für die aktuelle Kultur verwendet.
Weitere Informationen
Gilt für:
Parse(String)
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
Konvertiert die Zeichenfolgendarstellung einer Zahl in die 16-Bit-ganzzahlige Entsprechung mit Vorzeichen.
public:
static short Parse(System::String ^ s);
public static short Parse(string s);
static member Parse : string -> int16
Public Shared Function Parse (s As String) As Short
Parameter
- s
- String
Eine Zeichenfolge, die eine zahl enthält, die konvertiert werden soll.
Gibt zurück
Eine 16-Bit-ganzzahlige Ganzzahl, die der zahl entspricht, die in s.
Ausnahmen
s ist null.
s ist nicht im richtigen Format vorhanden.
s stellt eine Zahl kleiner als Int16.MinValue oder größer als Int16.MaxValue dar.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie ein Zeichenfolgenwert mithilfe der Int16.Parse(String) Methode in einen 16-Bit-ganzzahligen Wert mit Vorzeichen konvertiert wird. Der resultierende ganzzahlige Wert wird dann in der Konsole angezeigt.
string value;
short number;
value = " 12603 ";
try
{
number = Int16.Parse(value);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
value);
}
value = " 16,054";
try
{
number = Int16.Parse(value);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
value);
}
value = " -17264";
try
{
number = Int16.Parse(value);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.",
value);
}
// The example displays the following output to the console:
// Converted ' 12603 ' to 12603.
// Unable to convert ' 16,054' to a 16-bit signed integer.
// Converted ' -17264' to -17264.
let value = " 12603 "
try
let number = Int16.Parse value
printfn $"Converted '{value}' to {number}."
with :? FormatException ->
printfn $"Unable to convert '{value}' to a 16-bit signed integer."
let value = " 16,054"
try
let number = Int16.Parse value
printfn $"Converted '{value}' to {number}."
with :? FormatException ->
printfn "Unable to convert '{value}' to a 16-bit signed integer."
let value = " -17264"
try
let number = Int16.Parse value
printfn $"Converted '{value}' to {number}."
with :? FormatException ->
printfn "Unable to convert '{value}' to a 16-bit signed integer."
// The example displays the following output to the console:
// Converted ' 12603 ' to 12603.
// Unable to convert ' 16,054' to a 16-bit signed integer.
// Converted ' -17264' to -17264.
Dim value As String
Dim number As Short
value = " 12603 "
Try
number = Short.Parse(value)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.", _
value)
End Try
value = " 16,054"
Try
number = Short.Parse(value)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.", _
value)
End Try
value = " -17264"
Try
number = Short.Parse(value)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to convert '{0}' to a 16-bit signed integer.", _
value)
End Try
' The example displays the following output to the console:
' Converted ' 12603 ' to 12603.
' Unable to convert ' 16,054' to a 16-bit signed integer.
' Converted ' -17264' to -17264.
Hinweise
Der s Parameter enthält eine Zahl des Formulars:
[ws] [Zeichen]Ziffern[ws]
Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle werden die einzelnen Elemente beschrieben.
| Element | Beschreibung |
|---|---|
| Ws | Optionaler Leerraum. |
| Zeichen | Ein optionales Zeichen. |
| Ziffern | Eine Sequenz von Ziffern zwischen 0 und 9. |
Der s Parameter wird mithilfe der NumberStyles.Integer Formatvorlage interpretiert. Neben den Dezimalstellen des Ganzzahlwerts sind nur führende und nachfolgende Leerzeichen zusammen mit einem vorangestellten Zeichen zulässig. Verwenden Sie zum expliziten Definieren der Formatvorlagenelemente, die vorhanden ssein können, entweder die Int16.Parse(String, NumberStyles) Methode oder die Parse Methode.
Der s Parameter wird mithilfe der Formatierungsinformationen in einem NumberFormatInfo Objekt analysiert, das für die aktuelle Systemkultur initialisiert wird. Weitere Informationen finden Sie unter CurrentInfo. Um eine Zeichenfolge mithilfe der Formatierungsinformationen einer anderen Kultur zu analysieren, verwenden Sie die Int16.Parse(String, IFormatProvider) oder die Int16.Parse(String, NumberStyles, IFormatProvider) Methode.
Weitere Informationen
Gilt für:
Parse(ReadOnlySpan<Char>, IFormatProvider)
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
Analysiert eine Spanne von Zeichen in einen Wert.
public:
static short Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<short>::Parse;
public static short Parse(ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> int16
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As Short
Parameter
- s
- ReadOnlySpan<Char>
Die Spanne der zu analysierenden Zeichen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu s.
Gibt zurück
Das Ergebnis der Analyse s.
Implementiert
Gilt für:
Parse(ReadOnlySpan<Byte>, IFormatProvider)
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
Analysiert eine Spanne von UTF-8 Zeichen in einen Wert.
public:
static short Parse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider) = IUtf8SpanParsable<short>::Parse;
public static short Parse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);
static member Parse : ReadOnlySpan<byte> * IFormatProvider -> int16
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider) As Short
Parameter
- utf8Text
- ReadOnlySpan<Byte>
Die Spanne von UTF-8 Zeichen, die analysiert werden sollen.
- provider
- IFormatProvider
Ein Objekt, das kulturspezifische Formatierungsinformationen zu utf8Text.
Gibt zurück
Das Ergebnis der Analyse utf8Text.
Implementiert
Gilt für:
Parse(String, NumberStyles)
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
- Quelle:
- Int16.cs
Konvertiert die Zeichenfolgendarstellung einer Zahl in einer angegebenen Formatvorlage in die 16-Bit-ganzzahlige Entsprechung mit Vorzeichen.
public:
static short Parse(System::String ^ s, System::Globalization::NumberStyles style);
public static short Parse(string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> int16
Public Shared Function Parse (s As String, style As NumberStyles) As Short
Parameter
- s
- String
Eine Zeichenfolge, die eine zahl enthält, die konvertiert werden soll.
- style
- NumberStyles
Eine bitweise Kombination der Enumerationswerte, die die Formatvorlagenelemente angibt, die vorhanden ssein können. Ein typischer Wert, der angegeben werden soll, ist Integer.
Gibt zurück
Eine 16-Bit-Ganzzahl mit Vorzeichen, die der in s.
Ausnahmen
s ist null.
style ist kein NumberStyles Wert.
-oder-
style ist keine Kombination von AllowHexSpecifier und HexNumber Werten.
s ist nicht in einem Format kompatibel mit style.
s stellt eine Zahl kleiner als Int16.MinValue oder größer als Int16.MaxValue dar.
-oder-
s enthält Dezimalstellen, die nicht null sind.
Beispiele
Im folgenden Beispiel wird die Int16.Parse(String, NumberStyles) Methode verwendet, um die Zeichenfolgendarstellungen von Int16 Werten mithilfe der en-US Kultur zu analysieren.
using System;
using System.Globalization;
public class ParseSample
{
public static void Main()
{
string value;
NumberStyles style;
// Parse a number with a thousands separator (throws an exception).
value = "14,644";
style = NumberStyles.None;
ParseToInt16(value, style);
style = NumberStyles.AllowThousands;
ParseToInt16(value, style);
// Parse a number with a thousands separator and decimal point.
value = "14,644.00";
style = NumberStyles.AllowThousands | NumberStyles.Integer |
NumberStyles.AllowDecimalPoint;
ParseToInt16(value, style);
// Parse a number with a fractional component (throws an exception).
value = "14,644.001";
ParseToInt16(value, style);
// Parse a number in exponential notation.
value = "145E02";
style = style | NumberStyles.AllowExponent;
ParseToInt16(value, style);
// Parse a number in exponential notation with a positive sign.
value = "145E+02";
ParseToInt16(value, style);
// Parse a number in exponential notation with a negative sign
// (throws an exception).
value = "145E-02";
ParseToInt16(value, style);
}
private static void ParseToInt16(string value, NumberStyles style)
{
try
{
short number = Int16.Parse(value, style);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}' with style {1}.", value,
style.ToString());
}
catch (OverflowException)
{
Console.WriteLine("'{0}' is out of range of the Int16 type.", value);
}
}
}
// The example displays the following output to the console:
// Unable to parse '14,644' with style None.
// Converted '14,644' to 14644.
// Converted '14,644.00' to 14644.
// '14,644.001' is out of range of the Int16 type.
// Converted '145E02' to 14500.
// Converted '145E+02' to 14500.
// '145E-02' is out of range of the Int16 type.
open System
open System.Globalization
let parseToInt16 (value: string) (style: NumberStyles) =
try
let number = Int16.Parse(value, style)
printfn $"Converted '{value}' to {number}."
with
| :? FormatException ->
printfn $"Unable to parse '{value}' with style {style}."
| :? OverflowException ->
printfn $"'{value}' is out of range of the Int16 type."
[<EntryPoint>]
let main _ =
// Parse a number with a thousands separator (throws an exception).
let value = "14,644"
let style = NumberStyles.None
parseToInt16 value style
let style = NumberStyles.AllowThousands
parseToInt16 value style
// Parse a number with a thousands separator and decimal point.
let value = "14,644.00"
let style = NumberStyles.AllowThousands ||| NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
parseToInt16 value style
// Parse a number with a fractional component (throws an exception).
let value = "14,644.001"
parseToInt16 value style
// Parse a number in exponential notation.
let value = "145E02"
let style = style ||| NumberStyles.AllowExponent
parseToInt16 value style
// Parse a number in exponential notation with a positive sign.
let value = "145E+02"
parseToInt16 value style
// Parse a number in exponential notation with a negative sign
// (throws an exception).
let value = "145E-02"
parseToInt16 value style
0
// The example displays the following output to the console:
// Unable to parse '14,644' with style None.
// Converted '14,644' to 14644.
// Converted '14,644.00' to 14644.
// '14,644.001' is out of range of the Int16 type.
// Converted '145E02' to 14500.
// Converted '145E+02' to 14500.
// '145E-02' is out of range of the Int16 type.
Imports System.Globalization
Module ParseSample
Public Sub Main()
Dim value As String
Dim style As NumberStyles
' Parse a number with a thousands separator (throws an exception).
value = "14,644"
style = NumberStyles.None
ParseToInt16(value, style)
style = NumberStyles.AllowThousands
ParseToInt16(value, style)
' Parse a number with a thousands separator and decimal point.
value = "14,644.00"
style = NumberStyles.AllowThousands Or NumberStyles.Integer Or _
NumberStyles.AllowDecimalPoint
ParseToInt16(value, style)
' Parse a number with a fractional component (throws an exception).
value = "14,644.001"
ParseToInt16(value, style)
' Parse a number in exponential notation.
value = "145E02"
style = style Or NumberStyles.AllowExponent
ParseToInt16(value, style)
' Parse a number in exponential notation with a positive sign.
value = "145E+02"
ParseToInt16(value, style)
' Parse a number in exponential notation with a negative sign
' (throws an exception).
value = "145E-02"
ParseToInt16(value, style)
End Sub
Private Sub ParseToInt16(value As String, style As NumberStyles)
Try
Dim number As Short = Int16.Parse(value, style)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}' with style {1}.", value, _
style.ToString())
Catch e As OverflowException
Console.WriteLine("'{0}' is out of range of the Int16 type.", value)
End Try
End Sub
End Module
' The example displays the following output to the console:
' Unable to parse '14,644' with style None.
' Converted '14,644' to 14644.
' Converted '14,644.00' to 14644.
' '14,644.001' is out of range of the Int16 type.
' Converted '145E02' to 14500.
' Converted '145E+02' to 14500.
' '145E-02' is out of range of the Int16 type.
Hinweise
Der style Parameter definiert die Formatvorlagenelemente (z. B. Leerzeichen oder ein Zeichensymbol), die im s 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 s Parameter die folgenden Elemente enthalten:
[ws] [$] [Zeichen] [Ziffern;]Ziffern[.fractional_digits][e[Zeichen][Zeichen][ws]
Oder, wenn style umfasst AllowHexSpecifier:
[ws]hexdigits[ws]
Elemente in eckigen Klammern ([ und ]) sind optional. In der folgenden Tabelle werden die einzelnen Elemente beschrieben.
| Element | Beschreibung |
|---|---|
| Ws | Optionaler Leerraum. Leerzeichen können am Anfang angezeigt s werden, wenn style die NumberStyles.AllowLeadingWhite Kennzeichnung enthalten ist, oder am Ende, s wenn style die NumberStyles.AllowTrailingWhite Kennzeichnung enthalten ist. |
| $ | Ein kulturspezifisches Währungssymbol. Seine Position in der Zeichenfolge wird durch die NumberFormatInfo.CurrencyPositivePattern Eigenschaften NumberFormatInfo.CurrencyNegativePattern der aktuellen Kultur definiert. Das Währungssymbol der aktuellen Kultur kann angezeigt werden s , wenn style die NumberStyles.AllowCurrencySymbol Kennzeichnung enthalten ist. |
| Zeichen | Ein optionales Zeichen. Das Zeichen kann am Anfang des s Zeichens angezeigt werden, wenn style das NumberStyles.AllowLeadingSign Kennzeichen enthalten ist, und es kann am Ende s angezeigt werden, wenn style das NumberStyles.AllowTrailingSign Kennzeichen enthalten ist. Klammern können verwendet s 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 Tausendertrennzeichen. Das Tausendertrennzeichen der aktuellen Kultur kann angezeigt werden s , wenn style die NumberStyles.AllowThousands Kennzeichnung enthalten ist. |
| . | Ein kulturspezifisches Dezimalkommasymbol. Das Dezimalkommasymbol der aktuellen Kultur kann angezeigt werden s , wenn style das NumberStyles.AllowDecimalPoint Kennzeichen enthalten ist. |
| fractional_digits | Eine Sequenz der 0-Ziffer. Dezimalstellen können angezeigt s werden, wenn style die NumberStyles.AllowDecimalPoint Kennzeichnung enthalten ist. Wenn eine andere Ziffer als 0 in fractional_digits angezeigt wird, löst die Methode eine OverflowException. |
| e | Das Zeichen "e" oder "E", das angibt, dass s in exponentieller Schreibweise dargestellt werden kann. Der s Parameter kann eine Zahl in exponentieller Notation darstellen, wenn style das NumberStyles.AllowExponent Flag enthalten ist. Der s Parameter muss jedoch eine Zahl im Bereich des Int16 Datentyps darstellen und keine Nicht-Null-Bruchkomponente aufweisen. |
| hexdigits | Eine Abfolge von hexadezimalen Ziffern von 0 bis f oder 0 bis F. |
Anmerkung
Alle endenden NUL-Zeichen s (U+0000) werden unabhängig vom Wert des style Arguments vom Analysevorgang ignoriert.
Eine Zeichenfolge mit Ziffern (die der NumberStyles.None Formatvorlage entspricht) analysiert immer erfolgreich. Die meisten der verbleibenden NumberStyles Elemente steuern Elemente, die möglicherweise vorhanden, aber nicht in dieser Eingabezeichenfolge vorhanden sein müssen. In der folgenden Tabelle wird angegeben, wie sich einzelne NumberStyles Member auf die Elemente auswirken, die möglicherweise svorhanden sind.
| Nicht zusammengesetzte NumberStyles-Werte | Elemente, die zusätzlich zu Ziffern in s zulässig sind |
|---|---|
| NumberStyles.None | Nur Dezimalziffern. |
| NumberStyles.AllowDecimalPoint | Die Elemente . und fractional_digits . Fractional_digits darf jedoch nur aus einer oder mehreren 0 Ziffern bestehen oder wird OverflowException ausgelöst. |
| NumberStyles.AllowExponent | Der s Parameter kann auch exponentielle Notation verwenden. |
| NumberStyles.AllowLeadingWhite | Das ws-Element am Anfang von s. |
| NumberStyles.AllowTrailingWhite | Das ws-Element am Ende von s. |
| NumberStyles.AllowLeadingSign | Ein Zeichen kann vor Ziffern angezeigt werden. |
| NumberStyles.AllowTrailingSign | Ein Zeichen kann nach Ziffern angezeigt werden. |
| NumberStyles.AllowParentheses | Das Zeichenelement in Form von Klammern, die den numerischen Wert einschließen. |
| NumberStyles.AllowThousands | Das , -Element. |
| NumberStyles.AllowCurrencySymbol | Das $ Element. |
Wenn das NumberStyles.AllowHexSpecifier Kennzeichen verwendet wird, s muss es sich um die Zeichenfolgendarstellung eines Hexadezimalwerts ohne Präfix sein. Beispielsweise analysiert "9AF3" erfolgreich, aber "0x9AF3" nicht. Die einzigen anderen Flags, die style vorhanden sein können, sind NumberStyles.AllowLeadingWhite und NumberStyles.AllowTrailingWhite. (Die NumberStyles Aufzählung weist eine zusammengesetzte Zahlenformatvorlage auf, NumberStyles.HexNumberdie beide Leerzeichen-Flags enthält.)
Der s Parameter wird mithilfe der Formatierungsinformationen in einem NumberFormatInfo Objekt analysiert, das für die aktuelle Systemkultur initialisiert wird. Weitere Informationen finden Sie unter NumberFormatInfo.CurrentInfo. Rufen Sie die Int16.Parse(String, NumberStyles, IFormatProvider) Methode auf, um die Formatierungsinformationen einer bestimmten Kultur zu analysierens.