Byte.Parse Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Converte a representação da cadeia de caracteres de um número no Byte equivalente.
Sobrecargas
Parse(String, NumberStyles, IFormatProvider) |
Converte a representação de cadeia de caracteres de um número com um estilo especificado e um formato específico à cultura para seu Byte equivalente. |
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) |
Converte a representação de intervalo de um número com um estilo especificado e um formato específico à cultura para seu Byte equivalente. |
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider) |
Analisa um intervalo de caracteres UTF-8 em um valor. |
Parse(String, IFormatProvider) |
Converte a representação de cadeia de caracteres de um número em um formato específico da cultura especificado em seu equivalente de Byte. |
Parse(String, NumberStyles) |
Converte a representação de cadeia de caracteres de um número em um estilo especificado em seu Byte equivalente. |
Parse(ReadOnlySpan<Char>, IFormatProvider) |
Analisa um intervalo de caracteres em um valor. |
Parse(ReadOnlySpan<Byte>, IFormatProvider) |
Analisa um intervalo de caracteres UTF-8 em um valor. |
Parse(String) |
Converte a representação da cadeia de caracteres de um número no Byte equivalente. |
Parse(String, NumberStyles, IFormatProvider)
- Origem:
- Byte.cs
- Origem:
- Byte.cs
- Origem:
- Byte.cs
Converte a representação de cadeia de caracteres de um número com um estilo especificado e um formato específico à cultura para seu Byte equivalente.
public:
static System::Byte Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public:
static System::Byte Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider) = System::Numerics::INumberBase<System::Byte>::Parse;
public static byte Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
public static byte Parse (string s, System.Globalization.NumberStyles style, IFormatProvider? provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> byte
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As Byte
Parâmetros
- s
- String
Uma cadeia de caracteres que contém um número a ser convertido. A cadeia de caracteres é interpretada usando o estilo especificado por style
.
- style
- NumberStyles
Um combinação bit a bit de valores de enumeração que indica os elementos de estilo que podem estar presentes em s
. Um valor típico a ser especificado é Integer.
- provider
- IFormatProvider
Um objeto que fornece informações específicas da cultura sobre o formato de s
. Caso provider
seja null
, a cultura atual do thread é usada.
Retornos
Um valor de byte equivalente ao número contido em s
.
Implementações
Exceções
s
é null
.
s
não é do formato correto.
s
representa um número menor que Byte.MinValue ou maior que Byte.MaxValue.
- ou -
s
inclui dígitos fracionários, diferentes de zero.
style
não é um valor NumberStyles.
- ou -
style
não é uma combinação de valores AllowHexSpecifier e HexNumber.
Exemplos
O exemplo de código a seguir analisa representações de cadeia de caracteres de Byte
valores com essa sobrecarga do Byte.Parse(String, NumberStyles, IFormatProvider) método .
NumberStyles style;
CultureInfo^ culture;
String^ value;
Byte number;
// Parse number with decimals.
// NumberStyles.Float includes NumberStyles.AllowDecimalPoint.
style = NumberStyles::Float;
culture = CultureInfo::CreateSpecificCulture("fr-FR");
value = "12,000";
number = Byte::Parse(value, style, culture);
Console::WriteLine("Converted '{0}' to {1}.", value, number);
culture = CultureInfo::CreateSpecificCulture("en-GB");
try
{
number = Byte::Parse(value, style, culture);
Console::WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException^) {
Console::WriteLine("Unable to parse '{0}'.", value); }
value = "12.000";
number = Byte::Parse(value, style, culture);
Console::WriteLine("Converted '{0}' to {1}.", value, number);
// The example displays the following output to the console:
// Converted '12,000' to 12.
// Unable to parse '12,000'.
// Converted '12.000' to 12.
NumberStyles style;
CultureInfo culture;
string value;
byte number;
// Parse number with decimals.
// NumberStyles.Float includes NumberStyles.AllowDecimalPoint.
style = NumberStyles.Float;
culture = CultureInfo.CreateSpecificCulture("fr-FR");
value = "12,000";
number = Byte.Parse(value, style, culture);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
culture = CultureInfo.CreateSpecificCulture("en-GB");
try
{
number = Byte.Parse(value, style, culture);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException) {
Console.WriteLine("Unable to parse '{0}'.", value); }
value = "12.000";
number = Byte.Parse(value, style, culture);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
// The example displays the following output to the console:
// Converted '12,000' to 12.
// Unable to parse '12,000'.
// Converted '12.000' to 12.
// Parse number with decimals.
// NumberStyles.Float includes NumberStyles.AllowDecimalPoint.
let style = NumberStyles.Float
let culture = CultureInfo.CreateSpecificCulture "fr-FR"
let value = "12,000"
let number = Byte.Parse(value, style, culture)
printfn $"Converted '{value}' to {number}."
let culture = CultureInfo.CreateSpecificCulture "en-GB"
try
let number = Byte.Parse(value, style, culture)
printfn $"Converted '{value}' to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
let value = "12.000"
let number = Byte.Parse(value, style, culture)
printfn $"Converted '{value}' to {number}."
// The example displays the following output to the console:
// Converted '12,000' to 12.
// Unable to parse '12,000'.
// Converted '12.000' to 12.
Dim style As NumberStyles
Dim culture As CultureInfo
Dim value As String
Dim number As Byte
' Parse number with decimals.
' NumberStyles.Float includes NumberStyles.AllowDecimalPoint.
style = NumberStyles.Float
culture = CultureInfo.CreateSpecificCulture("fr-FR")
value = "12,000"
number = Byte.Parse(value, style, culture)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
culture = CultureInfo.CreateSpecificCulture("en-GB")
Try
number = Byte.Parse(value, style, culture)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", value)
End Try
value = "12.000"
number = Byte.Parse(value, style, culture)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
' The example displays the following output to the console:
' Converted '12,000' to 12.
' Unable to parse '12,000'.
' Converted '12.000' to 12.
Comentários
O parâmetro style
define os elementos de estilo (como espaço em branco ou o sinal positivo) que são permitidos no parâmetro s
para que a operação de análise seja bem-sucedida. Ele deve ser uma combinação de sinalizadores de bits da enumeração NumberStyles. Dependendo do valor de style
, o parâmetro s
pode incluir os seguintes elementos:
[ws] [$] [sign]digits[.fractional_digits][e[sign]digits][ws]
Ou, se o style
parâmetro incluir AllowHexSpecifier:
[ws]hexdigits[ws]
Os elementos entre colchetes ([ e ]) são opcionais. A tabela a seguir descreve cada elemento.
Elemento | Descrição |
---|---|
ws | Espaço em branco opcional. O espaço em branco pode ser exibido no início de s caso style inclua o sinalizador NumberStyles.AllowLeadingWhite ou no final de s caso style inclua o sinalizador NumberStyles.AllowTrailingWhite. |
$ | Um símbolo de moeda específico de cultura. A posição na cadeia de caracteres é definida pela propriedade NumberFormatInfo.CurrencyPositivePattern do objeto NumberFormatInfo retornado pelo método GetFormat do parâmetro provider . O símbolo de moeda pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowCurrencySymbol. |
sign | Um sinal positivo opcional. (O método gerará um OverflowException se um sinal negativo estiver presente em s .) O sinal pode aparecer no início de s se incluir o NumberStyles.AllowLeadingSign sinalizador ou no final de s se style incluir o NumberStyles.AllowTrailingSign sinalizador.style |
dígitos | Uma sequência de dígitos de 0 a 9. |
. | Um símbolo de vírgula decimal específico de cultura. O símbolo da vírgula decimal da cultura especificada por provider pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint. |
Fractional_digits | Uma ou mais ocorrências de dígito 0. Os dígitos fracionários só podem ser exibidos em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint. |
e | O caractere e ou E, que indica que o valor é representado em notação exponencial. O parâmetro s pode representar um número na notação exponencial se style incluir o NumberStyles.AllowExponent sinalizador. |
hexdigits | Uma sequência de dígitos hexadecimais de 0 a f ou de 0 a F. |
Observação
Todos os caracteres NUL de terminação (U+0000) no s
são ignorados pela operação de análise, independentemente do valor do style
argumento.
Uma cadeia de caracteres apenas com dígitos decimais (que corresponde ao estilo NumberStyles.None ) sempre é analisada com êxito. A maioria dos elementos de controle dos membros NumberStyles restantes que podem estar, mas que não precisam estar presentes nessa cadeia de caracteres de entrada. A tabela a seguir indica como os membros NumberStyles individuais afetam os elementos que podem estar presentes em s
.
Valores NumberStyles não compostos | Elementos permitidos em s além de dígitos |
---|---|
NumberStyles.None | Somente dígitos decimais. |
NumberStyles.AllowDecimalPoint | Os elementos . e fractional_digits . No entanto, fractional_digits deve consistir em apenas um ou mais 0 dígitos ou um OverflowException é gerado. |
NumberStyles.AllowExponent | O parâmetro s também pode usar notação exponencial. |
NumberStyles.AllowLeadingWhite | O elemento ws no início de s . |
NumberStyles.AllowTrailingWhite | O elemento ws no final de s . |
NumberStyles.AllowLeadingSign | Um sinal positivo pode aparecer antes dos dígitos. |
NumberStyles.AllowTrailingSign | Um sinal positivo pode aparecer após dígitos. |
NumberStyles.AllowParentheses | Embora esse sinalizador tenha suporte, o uso de parênteses em s resulta em um OverflowException. |
NumberStyles.AllowThousands | Embora o símbolo do separador de grupo possa aparecer no s , ele pode ser precedido por apenas um ou mais 0 dígitos. |
NumberStyles.AllowCurrencySymbol | O $ elemento . |
Se o NumberStyles.AllowHexSpecifier sinalizador for usado, s
deverá ser um valor hexadecimal sem um prefixo. Por exemplo, "F3" analisa com êxito, mas "0xF3" não. Os únicos outros sinalizadores que podem estar presentes em style
são NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite. (A enumeração de NumberStyles tem um estilo de número composto, NumberStyles.HexNumber, que inclui ambos os sinalizadores de espaço em branco.)
O parâmetro provider
é uma implementação de IFormatProvider, como um objeto NumberFormatInfo ou CultureInfo. O parâmetro provider
fornece informações específicas da cultura usadas na análise. Caso provider
seja null
, a cultura atual do thread é usada.
Confira também
- ToString()
- MaxValue
- MinValue
- NumberStyles
- NumberFormatInfo
- IFormatProvider
- Tipos de formatação no .NET
Aplica-se a
Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
- Origem:
- Byte.cs
- Origem:
- Byte.cs
- Origem:
- Byte.cs
Converte a representação de intervalo de um número com um estilo especificado e um formato específico à cultura para seu Byte equivalente.
public static byte Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
public static byte Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = default);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> byte
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As Byte
Parâmetros
- s
- ReadOnlySpan<Char>
Um intervalo que contém os caracteres que representam o valor a ser convertido.
- style
- NumberStyles
Um combinação bit a bit de valores de enumeração que indica os elementos de estilo que podem estar presentes em s
. Um valor típico a ser especificado é Integer.
- provider
- IFormatProvider
Um objeto que fornece informações específicas da cultura sobre o formato de s
. Caso provider
seja null
, a cultura atual do thread é usada.
Retornos
Um valor de byte equivalente ao número contido em s
.
Implementações
Aplica-se a
Parse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider)
- Origem:
- Byte.cs
- Origem:
- Byte.cs
Analisa um intervalo de caracteres UTF-8 em um valor.
public static byte Parse (ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider? provider = default);
static member Parse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider -> byte
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = Nothing) As Byte
Parâmetros
- utf8Text
- ReadOnlySpan<Byte>
O intervalo de caracteres UTF-8 a serem analisados.
- style
- NumberStyles
Uma combinação bit a bit de estilos de número que podem estar presentes em utf8Text
.
- provider
- IFormatProvider
Um objeto que fornece informações de formatação específicas à cultura sobre utf8Text
.
Retornos
O resultado da análise de utf8Text
.
Implementações
Aplica-se a
Parse(String, IFormatProvider)
- Origem:
- Byte.cs
- Origem:
- Byte.cs
- Origem:
- Byte.cs
Converte a representação de cadeia de caracteres de um número em um formato específico da cultura especificado em seu equivalente de Byte.
public:
static System::Byte Parse(System::String ^ s, IFormatProvider ^ provider);
public:
static System::Byte Parse(System::String ^ s, IFormatProvider ^ provider) = IParsable<System::Byte>::Parse;
public static byte Parse (string s, IFormatProvider provider);
public static byte Parse (string s, IFormatProvider? provider);
static member Parse : string * IFormatProvider -> byte
Public Shared Function Parse (s As String, provider As IFormatProvider) As Byte
Parâmetros
- s
- String
Uma cadeia de caracteres que contém um número a ser convertido. A cadeia de caracteres é interpretada usando o estilo Integer.
- provider
- IFormatProvider
Um objeto que fornece informações de análise específicas da cultura sobre s
. Caso provider
seja null
, a cultura atual do thread é usada.
Retornos
Um valor de byte equivalente ao número contido em s
.
Implementações
Exceções
s
é null
.
s
não é do formato correto.
s
representa um número menor que Byte.MinValue ou maior que Byte.MaxValue.
Exemplos
O exemplo a seguir analisa representações de cadeia de caracteres de Byte
valores com o Parse método .
String^ stringToConvert;
Byte byteValue;
stringToConvert = " 214 ";
try {
byteValue = Byte::Parse(stringToConvert, CultureInfo::InvariantCulture);
Console::WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue);
}
catch (FormatException^) {
Console::WriteLine("Unable to parse '{0}'.", stringToConvert); }
catch (OverflowException^) {
Console::WriteLine("'{0}' is greater than {1} or less than {2}.",
stringToConvert, Byte::MaxValue, Byte::MinValue); }
stringToConvert = " + 214 ";
try {
byteValue = Byte::Parse(stringToConvert, CultureInfo::InvariantCulture);
Console::WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue);
}
catch (FormatException^) {
Console::WriteLine("Unable to parse '{0}'.", stringToConvert); }
catch (OverflowException^) {
Console::WriteLine("'{0}' is greater than {1} or less than {2}.",
stringToConvert, Byte::MaxValue, Byte::MinValue); }
stringToConvert = " +214 ";
try {
byteValue = Byte::Parse(stringToConvert, CultureInfo::InvariantCulture);
Console::WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue);
}
catch (FormatException^) {
Console::WriteLine("Unable to parse '{0}'.", stringToConvert); }
catch (OverflowException^) {
Console::WriteLine("'{0}' is greater than {1} or less than {2}.",
stringToConvert, Byte::MaxValue, Byte::MinValue); }
// The example displays the following output to the console:
// Converted ' 214 ' to 214.
// Unable to parse ' + 214 '.
// Converted ' +214 ' to 214.
string stringToConvert;
byte byteValue;
stringToConvert = " 214 ";
try {
byteValue = Byte.Parse(stringToConvert, CultureInfo.InvariantCulture);
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue);
}
catch (FormatException) {
Console.WriteLine("Unable to parse '{0}'.", stringToConvert); }
catch (OverflowException) {
Console.WriteLine("'{0}' is greater than {1} or less than {2}.",
stringToConvert, Byte.MaxValue, Byte.MinValue); }
stringToConvert = " + 214 ";
try {
byteValue = Byte.Parse(stringToConvert, CultureInfo.InvariantCulture);
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue);
}
catch (FormatException) {
Console.WriteLine("Unable to parse '{0}'.", stringToConvert); }
catch (OverflowException) {
Console.WriteLine("'{0}' is greater than {1} or less than {2}.",
stringToConvert, Byte.MaxValue, Byte.MinValue); }
stringToConvert = " +214 ";
try {
byteValue = Byte.Parse(stringToConvert, CultureInfo.InvariantCulture);
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue);
}
catch (FormatException) {
Console.WriteLine("Unable to parse '{0}'.", stringToConvert); }
catch (OverflowException) {
Console.WriteLine("'{0}' is greater than {1} or less than {2}.",
stringToConvert, Byte.MaxValue, Byte.MinValue); }
// 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 byteValue = Byte.Parse(stringToConvert, CultureInfo.InvariantCulture)
printfn $"Converted '{stringToConvert}' to {byteValue}."
with
| :? FormatException ->
printfn $"Unable to parse '{stringToConvert}'."
| :? OverflowException ->
printfn $"'{stringToConvert}' is greater than {Byte.MaxValue} or less than {Byte.MinValue}."
let stringToConvert = " + 214 "
try
let byteValue = Byte.Parse(stringToConvert, CultureInfo.InvariantCulture)
printfn $"Converted '{stringToConvert}' to {byteValue}."
with
| :? FormatException ->
printfn $"Unable to parse '{stringToConvert}'."
| :? OverflowException ->
printfn $"'{stringToConvert}' is greater than {Byte.MaxValue} or less than {Byte.MinValue}."
let stringToConvert = " +214 "
try
let byteValue = Byte.Parse(stringToConvert, CultureInfo.InvariantCulture)
printfn $"Converted '{stringToConvert}' to {byteValue}."
with
| :? FormatException ->
printfn $"Unable to parse '{stringToConvert}'."
| :? OverflowException ->
printfn $"'{stringToConvert}' is greater than {Byte.MaxValue} or less than {Byte.MinValue}."
// 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 byteValue As Byte
stringToConvert = " 214 "
Try
byteValue = Byte.Parse(stringToConvert, CultureInfo.InvariantCulture)
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", stringToConvert)
Catch e As OverflowException
Console.WriteLine("'{0}' is greater than {1} or less than {2}.", _
stringToConvert, Byte.MaxValue, Byte.MinValue)
End Try
stringToConvert = " + 214 "
Try
byteValue = Byte.Parse(stringToConvert, CultureInfo.InvariantCulture)
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", stringToConvert)
Catch e As OverflowException
Console.WriteLine("'{0}' is greater than {1} or less than {2}.", _
stringToConvert, Byte.MaxValue, Byte.MinValue)
End Try
stringToConvert = " +214 "
Try
byteValue = Byte.Parse(stringToConvert, CultureInfo.InvariantCulture)
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", stringToConvert)
Catch e As OverflowException
Console.WriteLine("'{0}' is greater than {1} or less than {2}.", _
stringToConvert, Byte.MaxValue, Byte.MinValue)
End Try
' The example displays the following output to the console:
' Converted ' 214 ' to 214.
' Unable to parse ' + 214 '.
' Converted ' +214 ' to 214.
Comentários
O parâmetro s
contém um número da forma:
[ws][sign]digits[ws]
Os elementos entre colchetes ([ e ]) são opcionais. A tabela a seguir descreve cada elemento.
Elemento | Descrição |
---|---|
ws | Espaço em branco opcional. |
sign | Um sinal positivo opcional. |
dígitos | Uma sequência de dígitos que varia de 0 a 9. |
O parâmetro s
é interpretado usando-se o estilo Integer. Além dos dígitos decimais do valor de byte, somente espaços à esquerda e à direita, juntamente com um sinal à esquerda, são permitidos. (Se o sinal estiver presente, ele deverá ser um sinal positivo ou o método gerará um OverflowException.) Para definir explicitamente os elementos de estilo junto com as informações de formatação específicas da cultura que podem estar presentes no s
, use o Byte.Parse(String, NumberStyles, IFormatProvider) método .
O s
parâmetro é analisado usando as informações de formatação em um NumberFormatInfo objeto fornecido por provider
. O provider
parâmetro é uma implementação IFormatProvider como um NumberFormatInfo objeto ou CultureInfo . O parâmetro provider
fornece informações específicas da cultura usadas na análise. Caso provider
seja null
, a cultura atual do thread é usada.
Confira também
- ToString()
- TryParse
- MaxValue
- MinValue
- NumberStyles
- NumberFormatInfo
- IFormatProvider
- Tipos de formatação no .NET
Aplica-se a
Parse(String, NumberStyles)
- Origem:
- Byte.cs
- Origem:
- Byte.cs
- Origem:
- Byte.cs
Converte a representação de cadeia de caracteres de um número em um estilo especificado em seu Byte equivalente.
public:
static System::Byte Parse(System::String ^ s, System::Globalization::NumberStyles style);
public static byte Parse (string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> byte
Public Shared Function Parse (s As String, style As NumberStyles) As Byte
Parâmetros
- s
- String
Uma cadeia de caracteres que contém um número a ser convertido. A cadeia de caracteres é interpretada usando o estilo especificado por style
.
- style
- NumberStyles
Um combinação bit a bit de valores de enumeração que indica os elementos de estilo que podem estar presentes em s
. Um valor típico a ser especificado é Integer.
Retornos
Um valor de byte equivalente ao número contido em s
.
Exceções
s
é null
.
s
não é do formato correto.
s
representa um número menor que Byte.MinValue ou maior que Byte.MaxValue.
- ou -
s
inclui dígitos fracionários, diferentes de zero.
style
não é um valor NumberStyles.
- ou -
style
não é uma combinação de valores AllowHexSpecifier e HexNumber.
Exemplos
O exemplo a seguir analisa representações de cadeia de caracteres de Byte
valores com o Byte.Parse(String, NumberStyles) método . A cultura atual do exemplo é en-us.
String^ value;
NumberStyles style;
Byte number;
// Parse value with no styles allowed.
style = NumberStyles::None;
value = " 241 ";
try
{
number = Byte::Parse(value, style);
Console::WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException^) {
Console::WriteLine("Unable to parse '{0}'.", value); }
// Parse value with trailing sign.
style = NumberStyles::Integer | NumberStyles::AllowTrailingSign;
value = " 163+";
number = Byte::Parse(value, style);
Console::WriteLine("Converted '{0}' to {1}.", value, number);
// Parse value with leading sign.
value = " +253 ";
number = Byte::Parse(value, style);
Console::WriteLine("Converted '{0}' to {1}.", value, number);
// This example displays the following output to the console:
// Unable to parse ' 241 '.
// Converted ' 163+' to 163.
// Converted ' +253 ' to 253.
string value;
NumberStyles style;
byte number;
// Parse value with no styles allowed.
style = NumberStyles.None;
value = " 241 ";
try
{
number = Byte.Parse(value, style);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
}
catch (FormatException) {
Console.WriteLine("Unable to parse '{0}'.", value); }
// Parse value with trailing sign.
style = NumberStyles.Integer | NumberStyles.AllowTrailingSign;
value = " 163+";
number = Byte.Parse(value, style);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
// Parse value with leading sign.
value = " +253 ";
number = Byte.Parse(value, style);
Console.WriteLine("Converted '{0}' to {1}.", value, number);
// This example displays the following output to the console:
// Unable to parse ' 241 '.
// Converted ' 163+' to 163.
// Converted ' +253 ' to 253.
// Parse value with no styles allowed.
let style = NumberStyles.None
let value = " 241 "
try
let number = Byte.Parse(value, style);
printfn $"Converted '{value}' to {number}."
with :? FormatException ->
printfn $"Unable to parse '{value}'."
// Parse value with trailing sign.
let style = NumberStyles.Integer ||| NumberStyles.AllowTrailingSign
let value = " 163+"
let number = Byte.Parse(value, style)
printfn $"Converted '{value}' to {number}."
// Parse value with leading sign.
let value = " +253 "
let number = Byte.Parse(value, style)
printfn $"Converted '{value}' to {number}."
// This example displays the following output to the console:
// Unable to parse ' 241 '.
// Converted ' 163+' to 163.
// Converted ' +253 ' to 253.
Dim value As String
Dim style As NumberStyles
Dim number As Byte
' Parse value with no styles allowed.
style = NumberStyles.None
value = " 241 "
Try
number = Byte.Parse(value, style)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", value)
End Try
' Parse value with trailing sign.
style = NumberStyles.Integer Or NumberStyles.AllowTrailingSign
value = " 163+"
number = Byte.Parse(value, style)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
' Parse value with leading sign.
value = " +253 "
number = Byte.Parse(value, style)
Console.WriteLine("Converted '{0}' to {1}.", value, number)
' This example displays the following output to the console:
' Unable to parse ' 241 '.
' Converted ' 163+' to 163.
' Converted ' +253 ' to 253.
Comentários
O parâmetro style
define os elementos de estilo (como espaço em branco ou o sinal positivo) que são permitidos no parâmetro s
para que a operação de análise seja bem-sucedida. Ele deve ser uma combinação de sinalizadores de bits da enumeração NumberStyles. Dependendo do valor de style
, o parâmetro s
pode incluir os seguintes elementos:
[ws] [$] [sign]digits[.fractional_digits][e[sign]digits][ws]
Ou, caso style
inclua AllowHexSpecifier:
[ws]hexdigits[ws]
Os elementos entre colchetes ([ e ]) são opcionais. A tabela a seguir descreve cada elemento.
Elemento | Descrição |
---|---|
ws | Espaço em branco opcional. O espaço em branco pode aparecer no início de s se incluir o NumberStyles.AllowLeadingWhite sinalizador ou no final de s se o estilo incluir o NumberStyles.AllowTrailingWhitestyle sinalizador. |
$ | Um símbolo de moeda específico de cultura. Sua posição na cadeia de caracteres é definida pela NumberFormatInfo.CurrencyPositivePattern propriedade da cultura atual. O símbolo de moeda da cultura atual pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowCurrencySymbol. |
sign | Um sinal positivo opcional. (O método gerará um OverflowException se um sinal negativo estiver presente em s .) O sinal pode aparecer no início de s se incluir o NumberStyles.AllowLeadingSign sinalizador ou no final de s se style incluir o NumberStyles.AllowTrailingSign sinalizador .style |
dígitos | Uma sequência de dígitos de 0 a 9. |
. | Um símbolo de vírgula decimal específico de cultura. O símbolo da vírgula decimal da cultura atual pode ser exibido em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint. |
Fractional_digits | Uma ou mais ocorrências de dígito 0. Os dígitos fracionários só podem ser exibidos em s caso style inclua o sinalizador NumberStyles.AllowDecimalPoint. |
e | O caractere e ou E, que indica que o valor é representado na notação exponencial. O parâmetro s pode representar um número em notação exponencial caso style inclua o sinalizador NumberStyles.AllowExponent. |
hexdigits | Uma sequência de dígitos hexadecimais de 0 a f ou de 0 a F. |
Observação
Todos os caracteres NUL de terminação (U+0000) em s
são ignorados pela operação de análise, independentemente do valor do style
argumento.
Uma cadeia de caracteres apenas com dígitos decimais (que corresponde ao estilo NumberStyles.None ) sempre é analisada com êxito. A maioria dos elementos de controle dos membros NumberStyles restantes que podem estar, mas que não precisam estar presentes nessa cadeia de caracteres de entrada. A tabela a seguir indica como os membros NumberStyles individuais afetam os elementos que podem estar presentes em s
.
Valores NumberStyles não compostos | Elementos permitidos em s além de dígitos |
---|---|
NumberStyles.None | Somente dígitos decimais. |
NumberStyles.AllowDecimalPoint | Os elementos . e fractional_digits . No entanto, fractional_digits deve consistir em apenas um ou mais 0 dígitos ou um OverflowException é lançado. |
NumberStyles.AllowExponent | O parâmetro s também pode usar notação exponencial. |
NumberStyles.AllowLeadingWhite | O elemento ws no início de s . |
NumberStyles.AllowTrailingWhite | O elemento ws no final de s . |
NumberStyles.AllowLeadingSign | Um sinal positivo pode aparecer antes dos dígitos. |
NumberStyles.AllowTrailingSign | Um sinal positivo pode aparecer após dígitos. |
NumberStyles.AllowParentheses | Embora esse sinalizador tenha suporte, o uso de parênteses em s resulta em um OverflowException. |
NumberStyles.AllowThousands | Embora o símbolo separador de grupo possa aparecer em s , ele pode ser precedido por apenas um ou mais 0 dígitos. |
NumberStyles.AllowCurrencySymbol | O $ elemento . |
Se o NumberStyles.AllowHexSpecifier sinalizador for usado, s
deverá ser um valor hexadecimal sem um prefixo. Por exemplo, "F3" analisa com êxito, mas "0xF3" não. O único outros sinalizadores que podem ser combinados com ele são NumberStyles.AllowLeadingWhite e NumberStyles.AllowTrailingWhite. (A NumberStyles enumeração inclui um estilo de número composto, NumberStyles.HexNumber, que inclui os dois sinalizadores de espaço em branco.)
O parâmetro s
é analisado usando-se as informações de formatação em um objeto NumberFormatInfo que é inicializado para a cultura do sistema atual. Para usar as informações de formatação de alguma outra cultura, chame a Byte.Parse(String, NumberStyles, IFormatProvider) sobrecarga.
Confira também
- ToString()
- TryParse
- MaxValue
- MinValue
- NumberStyles
- NumberFormatInfo
- IFormatProvider
- Tipos de formatação no .NET
Aplica-se a
Parse(ReadOnlySpan<Char>, IFormatProvider)
- Origem:
- Byte.cs
- Origem:
- Byte.cs
- Origem:
- Byte.cs
Analisa um intervalo de caracteres em um valor.
public:
static System::Byte Parse(ReadOnlySpan<char> s, IFormatProvider ^ provider) = ISpanParsable<System::Byte>::Parse;
public static byte Parse (ReadOnlySpan<char> s, IFormatProvider? provider);
static member Parse : ReadOnlySpan<char> * IFormatProvider -> byte
Public Shared Function Parse (s As ReadOnlySpan(Of Char), provider As IFormatProvider) As Byte
Parâmetros
- s
- ReadOnlySpan<Char>
O intervalo de caracteres a serem analisados.
- provider
- IFormatProvider
Um objeto que fornece informações de formatação específicas à cultura sobre s
.
Retornos
O resultado da análise de s
.
Implementações
Aplica-se a
Parse(ReadOnlySpan<Byte>, IFormatProvider)
- Origem:
- Byte.cs
- Origem:
- Byte.cs
Analisa um intervalo de caracteres UTF-8 em um valor.
public:
static System::Byte Parse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider) = IUtf8SpanParsable<System::Byte>::Parse;
public static byte Parse (ReadOnlySpan<byte> utf8Text, IFormatProvider? provider);
static member Parse : ReadOnlySpan<byte> * IFormatProvider -> byte
Public Shared Function Parse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider) As Byte
Parâmetros
- utf8Text
- ReadOnlySpan<Byte>
O intervalo de caracteres UTF-8 a serem analisados.
- provider
- IFormatProvider
Um objeto que fornece informações de formatação específicas à cultura sobre utf8Text
.
Retornos
O resultado da análise de utf8Text
.
Implementações
Aplica-se a
Parse(String)
- Origem:
- Byte.cs
- Origem:
- Byte.cs
- Origem:
- Byte.cs
Converte a representação da cadeia de caracteres de um número no Byte equivalente.
public:
static System::Byte Parse(System::String ^ s);
public static byte Parse (string s);
static member Parse : string -> byte
Public Shared Function Parse (s As String) As Byte
Parâmetros
- s
- String
Uma cadeia de caracteres que contém um número a ser convertido. A cadeia de caracteres é interpretada usando o estilo Integer.
Retornos
Um valor de byte equivalente ao número contido em s
.
Exceções
s
é null
.
s
não é do formato correto.
s
representa um número menor que Byte.MinValue ou maior que Byte.MaxValue.
Exemplos
O exemplo a seguir demonstra como converter um valor de cadeia de caracteres em um valor de byte usando o Byte.Parse(String) método . O valor de byte resultante é exibido no console.
String^ stringToConvert = " 162";
Byte byteValue;
try
{
byteValue = Byte::Parse(stringToConvert);
Console::WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue);
}
catch (FormatException^)
{
Console::WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException^)
{
Console::WriteLine("'{0}' is greater than {1} or less than {2}.",
stringToConvert, Byte::MaxValue, Byte::MinValue);
}
// The example displays the following output to the console:
// Converted ' 162' to 162.
string stringToConvert = " 162";
byte byteValue;
try
{
byteValue = Byte.Parse(stringToConvert);
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue);
}
catch (FormatException)
{
Console.WriteLine("Unable to parse '{0}'.", stringToConvert);
}
catch (OverflowException)
{
Console.WriteLine("'{0}' is greater than {1} or less than {2}.",
stringToConvert, Byte.MaxValue, Byte.MinValue);
}
// The example displays the following output to the console:
// Converted ' 162' to 162.
let stringToConvert = " 162"
try
let byteValue = Byte.Parse stringToConvert
printfn $"Converted '{stringToConvert}' to {byteValue}."
with
| :? FormatException ->
printfn $"Unable to parse '{stringToConvert}'."
| :? OverflowException ->
printfn $"'{stringToConvert}' is greater than {Byte.MaxValue} or less than {Byte.MinValue}."
// The example displays the following output to the console:
// Converted ' 162' to 162.
Dim stringToConvert As String = " 162"
Dim byteValue As Byte
Try
byteValue = Byte.Parse(stringToConvert)
Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, byteValue)
Catch e As FormatException
Console.WriteLine("Unable to parse '{0}'.", stringToConvert)
Catch e As OverflowException
Console.WriteLine("'{0}' is greater than {1} or less than {2}.", _
stringToConvert, Byte.MaxValue, Byte.MinValue)
End Try
' The example displays the following output to the console:
' Converted ' 162' to 162.
Comentários
O parâmetro s
contém um número da forma:
[ws][sign]digits[ws]
Os elementos entre colchetes ([ e ]) são opcionais. A tabela a seguir descreve cada elemento.
Elemento | Descrição |
---|---|
ws | Espaço em branco opcional. |
sign | Um sinal positivo ou negativo opcional. |
dígitos | Uma sequência de dígitos que varia de 0 a 9. |
O parâmetro s
é interpretado usando-se o estilo NumberStyles.Integer. Além dos dígitos decimais do valor de byte, somente espaços à esquerda e à direita, juntamente com um sinal à esquerda, são permitidos. (Se o sinal estiver presente, ele deverá ser um sinal positivo ou o método gerará um OverflowException.) Para definir explicitamente os elementos de estilo que podem estar presentes no s
, use o Byte.Parse(String, NumberStyles) método ou Byte.Parse(String, NumberStyles, IFormatProvider) .
O parâmetro s
é analisado usando-se as informações de formatação em um objeto NumberFormatInfo que é inicializado para a cultura do sistema atual. Para obter mais informações, consulte CurrentInfo. Para analisar uma cadeia de caracteres usando as informações de formatação de alguma outra cultura, use o Byte.Parse(String, NumberStyles, IFormatProvider) método .
Confira também
- ToString()
- MaxValue
- MinValue
- NumberStyles
- NumberFormatInfo
- Analisando cadeias de caracteres numéricas no .NET
- Tipos de formatação no .NET