Int16.Parse Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Převede řetězcové vyjádření čísla na jeho 16bitové celé číslo se znaky.
Přetížení
| Name | Description |
|---|---|
| Parse(String, NumberStyles, IFormatProvider) |
Převede řetězcovou reprezentaci čísla v zadaném stylu a formátu specifickém pro jazykovou verzi na jeho 16bitový ekvivalent celého čísla. |
| Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Převede reprezentaci čísla v zadaném stylu a formátu specifickém pro jazykovou verzi na 16bitový ekvivalent celého čísla. |
| Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider) |
Parsuje rozsah znaků UTF-8 do hodnoty. |
| Parse(String, IFormatProvider) |
Převede řetězcovou reprezentaci čísla v zadaném formátu specifickém pro jazykovou verzi na jeho 16bitový ekvivalent celého čísla se znaky signed. |
| Parse(String) |
Převede řetězcové vyjádření čísla na jeho 16bitové celé číslo se znaky. |
| Parse(ReadOnlySpan<Char>, IFormatProvider) |
Parsuje rozsah znaků do hodnoty. |
| Parse(ReadOnlySpan<Byte>, IFormatProvider) |
Parsuje rozsah znaků UTF-8 do hodnoty. |
| Parse(String, NumberStyles) |
Převede řetězcovou reprezentaci čísla v zadaném stylu na 16bitový ekvivalent celého čísla se znaky. |
Parse(String, NumberStyles, IFormatProvider)
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
Převede řetězcovou reprezentaci čísla v zadaném stylu a formátu specifickém pro jazykovou verzi na jeho 16bitový ekvivalent celého čísla.
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
Parametry
- s
- String
Řetězec obsahující číslo, které chcete převést.
- style
- NumberStyles
Bitová kombinace hodnot výčtu, která označuje prvky stylu, které mohou být přítomny v s. Typická hodnota, kterou je třeba zadat, je Integer.
- provider
- IFormatProvider
Informace IFormatProvider o sformátování specifické pro jazykovou verzi .
Návraty
16bitové celé číslo se signedm odpovídající číslu zadanému v s.
Implementuje
Výjimky
s je null.
s není ve formátu kompatibilním s style.
s představuje číslo menší než Int16.MinValue nebo větší než Int16.MaxValue.
-nebo-
s obsahuje nenulové desetinné číslice.
Příklady
Následující příklad používá k analýze řetězcových Int16 reprezentací hodnot různé parametry style a provider parametry.
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.
Poznámky
Parametr style definuje prvky stylu (například prázdné znaky nebo kladné znaménko), které jsou v parametru s povolené, aby operace analýzy byla úspěšná. Musí se jednat o kombinaci bitových příznaků z výčtu NumberStyles . V závislosti na hodnotě styleparametru s může obsahovat následující prvky:
[ws] [$] [znaménko] [digits,]digits[.fractional_digits][e[sign]digits][ws]
Nebo pokud style zahrnuje:AllowHexSpecifier
[ws]hexdigits[ws]
Prvky v hranatých závorkách ([ a ]) jsou volitelné. Následující tabulka popisuje jednotlivé prvky.
| Element | Popis |
|---|---|
| Ws | Volitelné prázdné znaky. Prázdné znaky se můžou objevit na začátku s , pokud style příznak obsahuje NumberStyles.AllowLeadingWhite , nebo na konci příznaku s , pokud style příznak NumberStyles.AllowTrailingWhite obsahuje. |
| $ | Symbol měny specifický pro jazykovou verzi. Jeho pozice v řetězci je definována vlastnostmi NumberFormatInfo.CurrencyPositivePatternNumberFormatInfo.CurrencyNegativePattern aktuální jazykové verze. Symbol měny aktuální jazykové verze se může zobrazit v s případě, že style obsahuje NumberStyles.AllowCurrencySymbol příznak. |
| znaménko | Volitelné znaménko. Znaménko se může zobrazit na začátku s , pokud style příznak obsahuje NumberStyles.AllowLeadingSign , a může se zobrazit na konci s , pokud style příznak NumberStyles.AllowTrailingSign obsahuje. Závorky lze použít s k označení záporné hodnoty, pokud style obsahuje NumberStyles.AllowParentheses příznak. |
| Číslic | Posloupnost číslic od 0 do 9. |
| , | Symbol oddělovače tisíců specifických pro jazykovou verzi. Symbol oddělovače tisíců aktuální jazykové verze se může zobrazit, s pokud style obsahuje NumberStyles.AllowThousands příznak. |
| . | Symbol desetinné čárky specifické pro jazykovou verzi. Symbol desetinné čárky aktuální jazykové verze se může zobrazit, s pokud style příznak obsahuje NumberStyles.AllowDecimalPoint . |
| Fractional_digits | Posloupnost 0 číslic. Desetinná číslice se můžou zobrazit, s pokud style příznak NumberStyles.AllowDecimalPoint obsahuje. Pokud se v fractional_digits zobrazí jakákoli jiná číslice než 0, vyvolá metoda OverflowException. |
| e | Znak "e" nebo "E", který označuje, že s lze vyjádřit exponenciální notací. Parametr s může představovat číslo v exponenciálním zápisustyle, pokud NumberStyles.AllowExponent obsahuje příznak. Parametr s však musí představovat číslo v oblasti datového Int16 typu a nesmí mít nenulovou desetinnou komponentu. |
| hexdigits | Posloupnost šestnáctkových číslic od 0 do f nebo 0 až F. |
Poznámka
Všechny ukončující nulové znaky (U+0000) jsou s ignorovány operací analýzy bez ohledu na hodnotu argumentu style .
Řetězec s číslicemi (který odpovídá NumberStyles.None stylu) se vždy úspěšně parsuje. Většina zbývajících NumberStyles členů ovládacích prvků, které mohou být, ale nemusí být přítomny v tomto vstupním řetězci. Následující tabulka uvádí, jak jednotlivé NumberStyles členy ovlivňují prvky, které mohou být přítomny v s.
| Neseparované hodnoty NumberStyles | Prvky povolené v s kromě číslic |
|---|---|
| NumberStyles.None | Pouze desítkové číslice. |
| NumberStyles.AllowDecimalPoint | Prvky . a fractional_digits . Fractional_digits však musí obsahovat pouze jednu nebo více 0 číslic nebo OverflowException je vyvolán. |
| NumberStyles.AllowExponent | Parametr s může také použít exponenciální zápis. |
| NumberStyles.AllowLeadingWhite | Element ws na začátku s. |
| NumberStyles.AllowTrailingWhite | Prvek ws na konci .s |
| NumberStyles.AllowLeadingSign | Před číslicemi se může zobrazit znaménko. |
| NumberStyles.AllowTrailingSign | Za číslicemi se může zobrazit znaménko. |
| NumberStyles.AllowParentheses | Prvek znaménka ve formě závorek ohraničující číselnou hodnotu. |
| NumberStyles.AllowThousands | Prvek , . |
| NumberStyles.AllowCurrencySymbol | Prvek $ . |
NumberStyles.AllowHexSpecifier Pokud se příznak použije, s musí být řetězcová reprezentace šestnáctkové hodnoty bez předpony. Například "9AF3" se úspěšně parsuje, ale "0x9AF3" ne.. Jediné ostatní příznaky, které mohou být přítomny jsou styleNumberStyles.AllowLeadingWhite a NumberStyles.AllowTrailingWhite. (Výčet NumberStyles má složený styl čísla, NumberStyles.HexNumberkterý obsahuje oba příznaky prázdných znaků.)
Parametr provider je IFormatProvider implementace, jejíž GetFormat metoda získá NumberFormatInfo objekt. Objekt NumberFormatInfo poskytuje informace specifické pro jazykovou verzi formátu s. Pokud provider ano null, NumberFormatInfo použije se objekt pro aktuální jazykovou verzi.
Viz také
Platí pro
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
Převede reprezentaci čísla v zadaném stylu a formátu specifickém pro jazykovou verzi na 16bitový ekvivalent celého čísla.
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
Parametry
- s
- ReadOnlySpan<Char>
Rozsah obsahující znaky představující číslo, které se má převést.
- style
- NumberStyles
Bitová kombinace hodnot výčtu, která označuje prvky stylu, které mohou být přítomny v s. Typická hodnota, kterou je třeba zadat, je Integer.
- provider
- IFormatProvider
Informace IFormatProvider o sformátování specifické pro jazykovou verzi .
Návraty
16bitové celé číslo se signedm odpovídající číslu zadanému v s.
Implementuje
Platí pro
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
Parsuje rozsah znaků UTF-8 do hodnoty.
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
Parametry
- utf8Text
- ReadOnlySpan<Byte>
Rozsah znaků UTF-8 pro analýzu.
- style
- NumberStyles
Bitová kombinace stylů čísel, které mohou být přítomny v utf8Text.
- provider
- IFormatProvider
Objekt, který poskytuje informace o utf8Textformátování specifické pro jazykovou verzi .
Návraty
Výsledek analýzy utf8Text.
Implementuje
Platí pro
Parse(String, IFormatProvider)
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
Převede řetězcovou reprezentaci čísla v zadaném formátu specifickém pro jazykovou verzi na jeho 16bitový ekvivalent celého čísla se znaky signed.
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
Parametry
- s
- String
Řetězec obsahující číslo, které chcete převést.
- provider
- IFormatProvider
Informace IFormatProvider o sformátování specifické pro jazykovou verzi .
Návraty
16bitové celé číslo se signedm odpovídající číslu zadanému v s.
Implementuje
Výjimky
s je null.
s není ve správném formátu.
s představuje číslo menší než Int16.MinValue nebo větší než Int16.MaxValue.
Příklady
Následující příklad analyzuje řetězcové Int16 reprezentace hodnot pomocí Int16.Parse(String, IFormatProvider) metody.
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.
Poznámky
Parametr s obsahuje číslo formuláře:
[ws] [sign]digits[ws]
Prvky v hranatých závorkách ([ a ]) jsou volitelné. Následující tabulka popisuje jednotlivé prvky.
| Element | Popis |
|---|---|
| Ws | Volitelné prázdné znaky. |
| podepsat | Volitelné znaménko. |
| číslice | Posloupnost číslic v rozsahu od 0 do 9 |
Parametr s se interpretuje pomocí NumberStyles.Integer stylu. Kromě desetinných číslic jsou povoleny spouze počáteční a koncové mezery spolu s počátečním znakem . Chcete-li explicitně definovat prvky stylu spolu s informacemi o formátování specifické pro jazykovou verzi, které mohou být přítomny v s, použijte metodu Int16.Parse(String, NumberStyles, IFormatProvider) .
Parametr provider je IFormatProvider implementace, která získá NumberFormatInfo objekt. Poskytuje NumberFormatInfo informace specifické pro jazykovou verzi o formátu s. Pokud provider ano null, NumberFormatInfo použije se aktuální jazyková verze.
Viz také
Platí pro
Parse(String)
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
Převede řetězcové vyjádření čísla na jeho 16bitové celé číslo se znaky.
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
Parametry
- s
- String
Řetězec obsahující číslo, které chcete převést.
Návraty
16bitové celé číslo se signedm odpovídající číslu obsaženému v s.
Výjimky
s je null.
s není ve správném formátu.
s představuje číslo menší než Int16.MinValue nebo větší než Int16.MaxValue.
Příklady
Následující příklad ukazuje, jak pomocí metody převést řetězcovou hodnotu na 16bitovou celočíselnou hodnotu Int16.Parse(String) se znaky. Výsledná celočíselná hodnota se pak zobrazí v konzole.
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.
Poznámky
Parametr s obsahuje číslo formuláře:
[ws] [sign]digits[ws]
Prvky v hranatých závorkách ([ a ]) jsou volitelné. Následující tabulka popisuje jednotlivé prvky.
| Element | Popis |
|---|---|
| Ws | Volitelné prázdné znaky. |
| znaménko | Volitelné znaménko. |
| Číslic | Posloupnost číslic v rozsahu od 0 do 9 |
Parametr s se interpretuje pomocí NumberStyles.Integer stylu. Kromě desetinných číslic celočíselné hodnoty jsou povoleny pouze počáteční a koncové mezery společně s počátečním symbolem. Chcete-li explicitně definovat prvky stylu, které mohou být přítomny s, použijte buď metodu Int16.Parse(String, NumberStyles) nebo metodu Parse .
Parametr s je analyzován pomocí informací o formátování v objektu NumberFormatInfo , který je inicializován pro aktuální systémovou jazykovou verzi. Další informace najdete na webu CurrentInfo. K analýze řetězce pomocí informací o formátování některé jiné jazykové verze použijte Int16.Parse(String, IFormatProvider) metodu nebo metodu Int16.Parse(String, NumberStyles, IFormatProvider) .
Viz také
Platí pro
Parse(ReadOnlySpan<Char>, IFormatProvider)
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
Parsuje rozsah znaků do hodnoty.
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
Parametry
- s
- ReadOnlySpan<Char>
Rozsah znaků, které se mají analyzovat.
- provider
- IFormatProvider
Objekt, který poskytuje informace o sformátování specifické pro jazykovou verzi .
Návraty
Výsledek analýzy s.
Implementuje
Platí pro
Parse(ReadOnlySpan<Byte>, IFormatProvider)
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
Parsuje rozsah znaků UTF-8 do hodnoty.
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
Parametry
- utf8Text
- ReadOnlySpan<Byte>
Rozsah znaků UTF-8 pro analýzu.
- provider
- IFormatProvider
Objekt, který poskytuje informace o utf8Textformátování specifické pro jazykovou verzi .
Návraty
Výsledek analýzy utf8Text.
Implementuje
Platí pro
Parse(String, NumberStyles)
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
- Zdroj:
- Int16.cs
Převede řetězcovou reprezentaci čísla v zadaném stylu na 16bitový ekvivalent celého čísla se znaky.
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
Parametry
- s
- String
Řetězec obsahující číslo, které chcete převést.
- style
- NumberStyles
Bitová kombinace hodnot výčtu, která označuje prvky stylu, které mohou být přítomny v s. Typická hodnota, kterou je třeba zadat, je Integer.
Návraty
16bitové celé číslo se signedm odpovídající číslu zadanému v s.
Výjimky
s je null.
s není ve formátu kompatibilním s style.
s představuje číslo menší než Int16.MinValue nebo větší než Int16.MaxValue.
-nebo-
s obsahuje nenulové desetinné číslice.
Příklady
Následující příklad používá metodu Int16.Parse(String, NumberStyles) k analýze řetězcové Int16 reprezentace hodnot pomocí en-US jazykové verze.
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.
Poznámky
Parametr style definuje prvky stylu (například prázdné znaky nebo symbol znaménka), které jsou v parametru s povolené, aby operace analýzy byla úspěšná. Musí se jednat o kombinaci bitových příznaků z výčtu NumberStyles . V závislosti na hodnotě styleparametru s může obsahovat následující prvky:
[ws] [$] [znaménko] [digits,]digits[.fractional_digits][e[sign]digits][ws]
Nebo pokud style zahrnuje:AllowHexSpecifier
[ws]hexdigits[ws]
Položky v hranatých závorkách ([ a ]) jsou volitelné. Následující tabulka popisuje jednotlivé prvky.
| Element | Popis |
|---|---|
| Ws | Volitelné prázdné znaky. Prázdné znaky se můžou objevit na začátku s , pokud style příznak obsahuje NumberStyles.AllowLeadingWhite , nebo na konci příznaku s , pokud style příznak NumberStyles.AllowTrailingWhite obsahuje. |
| $ | Symbol měny specifický pro jazykovou verzi. Jeho pozice v řetězci je definována vlastnostmi NumberFormatInfo.CurrencyPositivePatternNumberFormatInfo.CurrencyNegativePattern aktuální jazykové verze. Symbol měny aktuální jazykové verze se může zobrazit v s případě, že style obsahuje NumberStyles.AllowCurrencySymbol příznak. |
| znaménko | Volitelné znaménko. Znaménko se může zobrazit na začátku s , pokud style příznak obsahuje NumberStyles.AllowLeadingSign , a může se zobrazit na konci s , pokud style příznak NumberStyles.AllowTrailingSign obsahuje. Závorky lze použít s k označení záporné hodnoty, pokud style obsahuje NumberStyles.AllowParentheses příznak. |
| Číslic | Posloupnost číslic od 0 do 9. |
| , | Symbol oddělovače tisíců specifických pro jazykovou verzi. Symbol oddělovače tisíců aktuální jazykové verze se může zobrazit, s pokud style obsahuje NumberStyles.AllowThousands příznak. |
| . | Symbol desetinné čárky specifické pro jazykovou verzi. Symbol desetinné čárky aktuální jazykové verze se může zobrazit, s pokud style příznak obsahuje NumberStyles.AllowDecimalPoint . |
| Fractional_digits | Posloupnost 0 číslic. Desetinná číslice se můžou zobrazit, s pokud style příznak NumberStyles.AllowDecimalPoint obsahuje. Pokud se v fractional_digits zobrazí jakákoli jiná číslice než 0, vyvolá metoda OverflowException. |
| e | Znak "e" nebo "E", který označuje, že s lze vyjádřit exponenciální notací. Parametr s může představovat číslo v exponenciálním zápisustyle, pokud NumberStyles.AllowExponent obsahuje příznak. Parametr s však musí představovat číslo v oblasti datového Int16 typu a nesmí mít nenulovou desetinnou komponentu. |
| hexdigits | Posloupnost šestnáctkových číslic od 0 do f nebo 0 až F. |
Poznámka
Všechny ukončující nulové znaky (U+0000) jsou s ignorovány operací analýzy bez ohledu na hodnotu argumentu style .
Řetězec s číslicemi (který odpovídá NumberStyles.None stylu) se vždy úspěšně parsuje. Většina zbývajících NumberStyles členů ovládacích prvků, které mohou být, ale nemusí být přítomny v tomto vstupním řetězci. Následující tabulka uvádí, jak jednotlivé NumberStyles členy ovlivňují prvky, které mohou být přítomny v s.
| Neseparované hodnoty NumberStyles | Prvky povolené v s kromě číslic |
|---|---|
| NumberStyles.None | Pouze desítkové číslice. |
| NumberStyles.AllowDecimalPoint | Prvky . a fractional_digits . Fractional_digits však musí obsahovat pouze jednu nebo více 0 číslic nebo OverflowException je vyvolán. |
| NumberStyles.AllowExponent | Parametr s může také použít exponenciální zápis. |
| NumberStyles.AllowLeadingWhite | Element ws na začátku s. |
| NumberStyles.AllowTrailingWhite | Prvek ws na konci .s |
| NumberStyles.AllowLeadingSign | Před číslicemi se může zobrazit znaménko. |
| NumberStyles.AllowTrailingSign | Za číslicemi se může zobrazit znaménko. |
| NumberStyles.AllowParentheses | Prvek znaménka ve formě závorek ohraničující číselnou hodnotu. |
| NumberStyles.AllowThousands | Prvek , . |
| NumberStyles.AllowCurrencySymbol | Prvek $ . |
NumberStyles.AllowHexSpecifier Pokud se příznak použije, s musí být řetězcová reprezentace šestnáctkové hodnoty bez předpony. Například "9AF3" se úspěšně parsuje, ale "0x9AF3" ne. Jediné ostatní příznaky, které mohou být přítomny jsou styleNumberStyles.AllowLeadingWhite a NumberStyles.AllowTrailingWhite. (Výčet NumberStyles má složený styl čísla, NumberStyles.HexNumberkterý obsahuje oba příznaky prázdných znaků.)
Parametr s je analyzován pomocí informací o formátování v objektu NumberFormatInfo , který je inicializován pro aktuální systémovou jazykovou verzi. Další informace najdete na webu NumberFormatInfo.CurrentInfo. Pokud chcete parsovat s pomocí informací o formátování konkrétní jazykové verze, zavolejte metodu Int16.Parse(String, NumberStyles, IFormatProvider) .