Byte.TryParse Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Intenta convertir la representación de cadena de un número en su Byte equivalente y devuelve un valor que indica si la conversión se realizó correctamente.
Sobrecargas
| Nombre | Description |
|---|---|
| TryParse(ReadOnlySpan<Byte>, IFormatProvider, Byte) |
Intenta analizar un intervalo de caracteres UTF-8 en un valor. |
| TryParse(ReadOnlySpan<Char>, Byte) |
Intenta convertir la representación de intervalo de un número en su Byte equivalente y devuelve un valor que indica si la conversión se realizó correctamente. |
| TryParse(String, Byte) |
Intenta convertir la representación de cadena de un número en su Byte equivalente y devuelve un valor que indica si la conversión se realizó correctamente. |
| TryParse(ReadOnlySpan<Char>, IFormatProvider, Byte) |
Intenta analizar un intervalo de caracteres en un valor. |
| TryParse(String, IFormatProvider, Byte) |
Intenta analizar una cadena en un valor. |
| TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Byte) |
Intenta analizar un intervalo de caracteres UTF-8 en un valor. |
| TryParse(ReadOnlySpan<Byte>, Byte) |
Intenta convertir un intervalo de caracteres UTF-8 que contiene la representación de cadena de un número en su entero de 8 bits sin signo equivalente. |
| TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Byte) |
Convierte la representación de intervalo de un número en un estilo y formato específico de la referencia cultural especificados en su Byte equivalente. Un valor devuelto indica si la conversión se realizó correctamente o no. |
| TryParse(String, NumberStyles, IFormatProvider, Byte) |
Convierte la representación de cadena de un número en un estilo y formato específico de la referencia cultural especificados en su Byte equivalente. Un valor devuelto indica si la conversión se realizó correctamente o no. |
TryParse(ReadOnlySpan<Byte>, IFormatProvider, Byte)
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
Intenta analizar un intervalo de caracteres UTF-8 en un valor.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = IUtf8SpanParsable<System::Byte>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, IFormatProvider? provider, out byte result);
static member TryParse : ReadOnlySpan<byte> * IFormatProvider * byte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), provider As IFormatProvider, ByRef result As Byte) As Boolean
Parámetros
- utf8Text
- ReadOnlySpan<Byte>
Intervalo de caracteres UTF-8 que se van a analizar.
- provider
- IFormatProvider
Objeto que proporciona información de formato específica de la referencia cultural sobre utf8Text.
- result
- Byte
Al devolver, contiene el resultado del análisis utf8Text correcto o un valor indefinido en caso de error.
Devoluciones
true es si utf8Text se ha analizado correctamente; en caso contrario, falsees .
Se aplica a
TryParse(ReadOnlySpan<Char>, Byte)
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
Intenta convertir la representación de intervalo de un número en su Byte equivalente y devuelve un valor que indica si la conversión se realizó correctamente.
public:
static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse(ReadOnlySpan<char> s, out byte result);
static member TryParse : ReadOnlySpan<char> * byte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As Byte) As Boolean
Parámetros
- s
- ReadOnlySpan<Char>
Intervalo que contiene los caracteres que representan el número que se va a convertir.
- result
- Byte
Cuando este método devuelve, contiene el Byte valor equivalente al número contenido en s si la conversión se realizó correctamente o cero si se produjo un error en la conversión. Este parámetro se pasa sin inicializar; Cualquier valor proporcionado originalmente en result se sobrescribirá.
Devoluciones
true es si s se ha convertido correctamente; de lo contrario, falsees .
Se aplica a
TryParse(String, Byte)
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
Intenta convertir la representación de cadena de un número en su Byte equivalente y devuelve un valor que indica si la conversión se realizó correctamente.
public:
static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse(string s, out byte result);
public static bool TryParse(string? s, out byte result);
static member TryParse : string * byte -> bool
Public Shared Function TryParse (s As String, ByRef result As Byte) As Boolean
Parámetros
- s
- String
Cadena que contiene un número que se va a convertir.
- result
- Byte
Cuando este método devuelve, contiene el Byte valor equivalente al número contenido en s si la conversión se realizó correctamente o cero si se produjo un error en la conversión. Este parámetro se pasa sin inicializar; Cualquier valor proporcionado originalmente en result se sobrescribirá.
Devoluciones
true es si s se ha convertido correctamente; de lo contrario, falsees .
Ejemplos
En el ejemplo siguiente se llama al TryParse(String, Byte) método con varios valores de cadena diferentes.
using System;
public class ByteConversion
{
public static void Main()
{
string[] byteStrings = { null, string.Empty, "1024",
"100.1", "100", "+100", "-100",
"000000000000000100", "00,100",
" 20 ", "FF", "0x1F" };
foreach (var byteString in byteStrings)
{
CallTryParse(byteString);
}
}
private static void CallTryParse(string stringToConvert)
{
byte byteValue;
bool success = Byte.TryParse(stringToConvert, out byteValue);
if (success)
{
Console.WriteLine("Converted '{0}' to {1}",
stringToConvert, byteValue);
}
else
{
Console.WriteLine("Attempted conversion of '{0}' failed.",
stringToConvert);
}
}
}
// The example displays the following output to the console:
// Attempted conversion of '' failed.
// Attempted conversion of '' failed.
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Attempted conversion of '00,100' failed.
// Converted ' 20 ' to 20
// Attempted conversion of 'FF' failed.
// Attempted conversion of '0x1F' failed.
open System
let callTryParse (stringToConvert: string) =
match Byte.TryParse stringToConvert with
| true, byteValue ->
printfn $"Converted '{stringToConvert}' to {byteValue}"
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
let byteStrings =
[ null; String.Empty; "1024"
"100.1"; "100"; "+100"; "-100"
"000000000000000100"; "00,100"
" 20 "; "FF"; "0x1F" ]
for byteString in byteStrings do
callTryParse byteString
// The example displays the following output to the console:
// Attempted conversion of '' failed.
// Attempted conversion of '' failed.
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Attempted conversion of '00,100' failed.
// Converted ' 20 ' to 20
// Attempted conversion of 'FF' failed.
// Attempted conversion of '0x1F' failed.
Module ByteConversion
Public Sub Main()
Dim byteStrings() As String = { Nothing, String.Empty, "1024",
"100.1", "100", "+100", "-100",
"000000000000000100", "00,100",
" 20 ", "FF", "0x1F"}
For Each byteString As String In byteStrings
CallTryParse(byteString)
Next
End Sub
Private Sub CallTryParse(stringToConvert As String)
Dim byteValue As Byte
Dim success As Boolean = Byte.TryParse(stringToConvert, byteValue)
If success Then
Console.WriteLine("Converted '{0}' to {1}", _
stringToConvert, byteValue)
Else
Console.WriteLine("Attempted conversion of '{0}' failed.", _
stringToConvert)
End If
End Sub
End Module
' The example displays the following output to the console:
' Attempted conversion of '' failed.
' Attempted conversion of '' failed.
' Attempted conversion of '1024' failed.
' Attempted conversion of '100.1' failed.
' Converted '100' to 100
' Converted '+100' to 100
' Attempted conversion of '-100' failed.
' Converted '000000000000000100' to 100
' Attempted conversion of '00,100' failed.
' Converted ' 20 ' to 20
' Attempted conversion of 'FF' failed.
' Attempted conversion of '0x1F' failed.
Comentarios
Se produce un error en la conversión y el método devuelve false si el s parámetro no tiene el formato correcto, si es null o String.Empty, o si representa un número menor MinValue o mayor que MaxValue.
El Byte.TryParse(String, Byte) método es similar al Byte.Parse(String) método , excepto que TryParse(String, Byte) no produce una excepción si se produce un error en la conversión.
El s parámetro debe ser la representación de cadena de un número con el formato siguiente:
[ws][sign]digits[ws]
Los elementos entre corchetes ([ y ]) son opcionales. En esta tabla se describe cada elemento.
| Elemento | Descripción |
|---|---|
| Ws | Espacio en blanco opcional. |
| firma | Un signo positivo opcional, tal y como especifica la NumberFormatInfo.PositiveSign propiedad de la referencia cultural actual. |
| dígitos | Secuencia de dígitos decimales que van de 0 a 9. |
El s parámetro se interpreta mediante el Integer estilo . Además de los dígitos decimales del valor de byte, solo se permiten espacios iniciales y finales junto con un signo inicial. (Si el signo está presente, debe ser un signo positivo o el método produce un OverflowException. Para definir explícitamente los elementos de estilo junto con la información de formato específica de la referencia cultural que puede estar presente en s, use el Byte.Parse(String, NumberStyles, IFormatProvider) método .
El s parámetro se analiza mediante la información de formato de un NumberFormatInfo objeto para la referencia cultural actual. Para obtener más información, consulte NumberFormatInfo.CurrentInfo.
Esta sobrecarga del Byte.TryParse(String, Byte) método interpreta todos los dígitos del s parámetro como dígitos decimales. Para analizar la representación de cadena de un número hexadecimal, llame a la Byte.TryParse(String, NumberStyles, IFormatProvider, Byte) sobrecarga.
Consulte también
- Ejemplo: Utilidad de formato winForms de .NET Core (C#)
- Ejemplo: Utilidad de formato winForms de .NET Core (Visual Basic)
Se aplica a
TryParse(ReadOnlySpan<Char>, IFormatProvider, Byte)
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
Intenta analizar un intervalo de caracteres en un valor.
public:
static bool TryParse(ReadOnlySpan<char> s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = ISpanParsable<System::Byte>::TryParse;
public static bool TryParse(ReadOnlySpan<char> s, IFormatProvider? provider, out byte result);
static member TryParse : ReadOnlySpan<char> * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), provider As IFormatProvider, ByRef result As Byte) As Boolean
Parámetros
- s
- ReadOnlySpan<Char>
Intervalo de caracteres que se va a analizar.
- provider
- IFormatProvider
Objeto que proporciona información de formato específica de la referencia cultural sobre s.
- result
- Byte
Cuando este método devuelve , contiene el resultado de analizar scorrectamente o un valor indefinido en caso de error.
Devoluciones
true es si s se ha analizado correctamente; en caso contrario, falsees .
Se aplica a
TryParse(String, IFormatProvider, Byte)
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
Intenta analizar una cadena en un valor.
public:
static bool TryParse(System::String ^ s, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = IParsable<System::Byte>::TryParse;
public static bool TryParse(string? s, IFormatProvider? provider, out byte result);
static member TryParse : string * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As String, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parámetros
- s
- String
Cadena que se va a analizar.
- provider
- IFormatProvider
Objeto que proporciona información de formato específica de la referencia cultural sobre s.
- result
- Byte
Cuando este método devuelve , contiene el resultado del análisis s correcto o de un valor indefinido en caso de error.
Devoluciones
true es si s se ha analizado correctamente; en caso contrario, falsees .
Se aplica a
TryParse(ReadOnlySpan<Byte>, NumberStyles, IFormatProvider, Byte)
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
Intenta analizar un intervalo de caracteres UTF-8 en un valor.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = System::Numerics::INumberBase<System::Byte>::TryParse;
public static bool TryParse(ReadOnlySpan<byte> utf8Text, System.Globalization.NumberStyles style, IFormatProvider? provider, out byte result);
static member TryParse : ReadOnlySpan<byte> * System.Globalization.NumberStyles * IFormatProvider * byte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), style As NumberStyles, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parámetros
- utf8Text
- ReadOnlySpan<Byte>
Intervalo de caracteres UTF-8 que se van a analizar.
- style
- NumberStyles
Combinación bit a bit de estilos de número que pueden estar presentes en utf8Text.
- provider
- IFormatProvider
Objeto que proporciona información de formato específica de la referencia cultural sobre utf8Text.
- result
- Byte
Al devolver, contiene el resultado del análisis utf8Text correcto o un valor indefinido en caso de error.
Devoluciones
true es si utf8Text se ha analizado correctamente; en caso contrario, falsees .
Se aplica a
TryParse(ReadOnlySpan<Byte>, Byte)
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
Intenta convertir un intervalo de caracteres UTF-8 que contiene la representación de cadena de un número en su entero de 8 bits sin signo equivalente.
public:
static bool TryParse(ReadOnlySpan<System::Byte> utf8Text, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse(ReadOnlySpan<byte> utf8Text, out byte result);
static member TryParse : ReadOnlySpan<byte> * byte -> bool
Public Shared Function TryParse (utf8Text As ReadOnlySpan(Of Byte), ByRef result As Byte) As Boolean
Parámetros
- utf8Text
- ReadOnlySpan<Byte>
Intervalo que contiene los caracteres UTF-8 que representan el número que se va a convertir.
- result
- Byte
Cuando este método devuelve, contiene el valor entero sin signo de 8 bits equivalente al número contenido en utf8Text si la conversión se realizó correctamente o cero si se produjo un error en la conversión. Este parámetro se pasa sin inicializar; Cualquier valor proporcionado originalmente en el resultado se sobrescribirá.
Devoluciones
true es si utf8Text se ha convertido correctamente; de lo contrario, falsees .
Se aplica a
TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Byte)
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
Convierte la representación de intervalo de un número en un estilo y formato específico de la referencia cultural especificados en su Byte equivalente. Un valor devuelto indica si la conversión se realizó correctamente o no.
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = System::Numerics::INumberBase<System::Byte>::TryParse;
public:
static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result);
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out byte result);
public static bool TryParse(ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out byte result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parámetros
- s
- ReadOnlySpan<Char>
Intervalo que contiene los caracteres que representan el número que se va a convertir. El intervalo se interpreta con el Integer estilo .
- style
- NumberStyles
Combinación bit a bit de valores de enumeración que indica los elementos de estilo que pueden estar presentes en s. Un valor típico que se debe especificar es Integer.
- provider
- IFormatProvider
Objeto que proporciona información de formato específica de la referencia cultural sobre s. Si provider es null, se usa la referencia cultural actual del subproceso.
- result
- Byte
Cuando este método devuelve, contiene el valor entero sin signo de 8 bits equivalente al número contenido en s si la conversión se realizó correctamente o cero si se produjo un error en la conversión. Se produce un error en la conversión si el s parámetro es null o Empty, no tiene el formato correcto o representa un número menor que Byte.MinValue o mayor que Byte.MaxValue. Este parámetro se pasa sin inicializar; Cualquier valor proporcionado originalmente en result se sobrescribirá.
Devoluciones
true es si s se ha convertido correctamente; de lo contrario, falsees .
Se aplica a
TryParse(String, NumberStyles, IFormatProvider, Byte)
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
- Source:
- Byte.cs
Convierte la representación de cadena de un número en un estilo y formato específico de la referencia cultural especificados en su Byte equivalente. Un valor devuelto indica si la conversión se realizó correctamente o no.
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result);
public:
static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] System::Byte % result) = System::Numerics::INumberBase<System::Byte>::TryParse;
public static bool TryParse(string s, System.Globalization.NumberStyles style, IFormatProvider provider, out byte result);
public static bool TryParse(string? s, System.Globalization.NumberStyles style, IFormatProvider? provider, out byte result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * byte -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As Byte) As Boolean
Parámetros
- s
- String
Cadena que contiene un número que se va a convertir. La cadena se interpreta mediante el estilo especificado por style.
- style
- NumberStyles
Combinación bit a bit de valores de enumeración que indica los elementos de estilo que pueden estar presentes en s. Un valor típico que se debe especificar es Integer.
- provider
- IFormatProvider
Objeto que proporciona información de formato específica de la referencia cultural sobre s. Si provider es null, se usa la referencia cultural actual del subproceso.
- result
- Byte
Cuando este método devuelve, contiene el valor entero sin signo de 8 bits equivalente al número contenido en s si la conversión se realizó correctamente o cero si se produjo un error en la conversión. Se produce un error en la conversión si el s parámetro es null o Empty, no tiene el formato correcto o representa un número menor que Byte.MinValue o mayor que Byte.MaxValue. Este parámetro se pasa sin inicializar; Cualquier valor proporcionado originalmente en result se sobrescribirá.
Devoluciones
true es si s se ha convertido correctamente; de lo contrario, falsees .
Excepciones
style no es un NumberStyles valor.
O bien
style no es una combinación de AllowHexSpecifier valores y HexNumber .
Ejemplos
En el ejemplo siguiente se llama al TryParse(String, NumberStyles, IFormatProvider, Byte) método con varios valores de cadena diferentes.
using System;
using System.Globalization;
public class ByteConversion2
{
public static void Main()
{
string byteString;
NumberStyles styles;
byteString = "1024";
styles = NumberStyles.Integer;
CallTryParse(byteString, styles);
byteString = "100.1";
styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
CallTryParse(byteString, styles);
byteString = "100.0";
CallTryParse(byteString, styles);
byteString = "+100";
styles = NumberStyles.Integer | NumberStyles.AllowLeadingSign
| NumberStyles.AllowTrailingSign;
CallTryParse(byteString, styles);
byteString = "-100";
CallTryParse(byteString, styles);
byteString = "000000000000000100";
CallTryParse(byteString, styles);
byteString = "00,100";
styles = NumberStyles.Integer | NumberStyles.AllowThousands;
CallTryParse(byteString, styles);
byteString = "2E+3 ";
styles = NumberStyles.Integer | NumberStyles.AllowExponent;
CallTryParse(byteString, styles);
byteString = "FF";
styles = NumberStyles.HexNumber;
CallTryParse(byteString, styles);
byteString = "0x1F";
CallTryParse(byteString, styles);
}
private static void CallTryParse(string stringToConvert, NumberStyles styles)
{
Byte byteValue;
bool result = Byte.TryParse(stringToConvert, styles,
null as IFormatProvider, out byteValue);
if (result)
Console.WriteLine("Converted '{0}' to {1}",
stringToConvert, byteValue);
else
Console.WriteLine("Attempted conversion of '{0}' failed.",
stringToConvert.ToString());
}
}
// The example displays the following output to the console:
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100.0' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Converted '00,100' to 100
// Attempted conversion of '2E+3 ' failed.
// Converted 'FF' to 255
// Attempted conversion of '0x1F' failed.
open System
open System.Globalization
let callTryParse (stringToConvert: string) (styles: NumberStyles) =
match Byte.TryParse(stringToConvert, styles, null) with
| true, byteValue ->
printfn $"Converted '{stringToConvert}' to {byteValue}"
| _ ->
printfn $"Attempted conversion of '{stringToConvert}' failed."
[<EntryPoint>]
let main _ =
let byteString = "1024"
let styles = NumberStyles.Integer
callTryParse byteString styles
let byteString = "100.1"
let styles = NumberStyles.Integer ||| NumberStyles.AllowDecimalPoint
callTryParse byteString styles
let byteString = "100.0"
callTryParse byteString styles
let byteString = "+100"
let styles = NumberStyles.Integer ||| NumberStyles.AllowLeadingSign ||| NumberStyles.AllowTrailingSign
callTryParse byteString styles
let byteString = "-100"
callTryParse byteString styles
let byteString = "000000000000000100"
callTryParse byteString styles
let byteString = "00,100"
let styles = NumberStyles.Integer ||| NumberStyles.AllowThousands
callTryParse byteString styles
let byteString = "2E+3 "
let styles = NumberStyles.Integer ||| NumberStyles.AllowExponent
callTryParse byteString styles
let byteString = "FF"
let styles = NumberStyles.HexNumber
callTryParse byteString styles
let byteString = "0x1F"
callTryParse byteString styles
0
// The example displays the following output to the console:
// Attempted conversion of '1024' failed.
// Attempted conversion of '100.1' failed.
// Converted '100.0' to 100
// Converted '+100' to 100
// Attempted conversion of '-100' failed.
// Converted '000000000000000100' to 100
// Converted '00,100' to 100
// Attempted conversion of '2E+3 ' failed.
// Converted 'FF' to 255
// Attempted conversion of '0x1F' failed.
Imports System.Globalization
Module ByteConversion2
Public Sub Main()
Dim byteString As String
Dim styles As NumberStyles
byteString = "1024"
styles = NumberStyles.Integer
CallTryParse(byteString, styles)
byteString = "100.1"
styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
CallTryParse(byteString, styles)
byteString = "100.0"
CallTryParse(byteString, styles)
byteString = "+100"
styles = NumberStyles.Integer Or NumberStyles.AllowLeadingSign _
Or NumberStyles.AllowTrailingSign
CallTryParse(byteString, styles)
byteString = "-100"
CallTryParse(byteString, styles)
byteString = "000000000000000100"
CallTryParse(byteString, styles)
byteString = "00,100"
styles = NumberStyles.Integer Or NumberStyles.AllowThousands
CallTryParse(byteString, styles)
byteString = "2E+3 "
styles = NumberStyles.Integer Or NumberStyles.AllowExponent
CallTryParse(byteString, styles)
byteString = "FF"
styles = NumberStyles.HexNumber
CallTryParse(byteString, styles)
byteString = "0x1F"
CallTryParse(byteString, styles)
End Sub
Private Sub CallTryParse(stringToConvert As String, styles As NumberStyles)
Dim byteValue As Byte
Dim result As Boolean = Byte.TryParse(stringToConvert, styles, Nothing, _
byteValue)
If result Then
Console.WriteLine("Converted '{0}' to {1}", _
stringToConvert, byteValue)
Else
If stringToConvert Is Nothing Then stringToConvert = ""
Console.WriteLine("Attempted conversion of '{0}' failed.", _
stringToConvert.ToString())
End If
End Sub
End Module
' The example displays the following output to the console:
' Attempted conversion of '1024' failed.
' Attempted conversion of '100.1' failed.
' Converted '100.0' to 100
' Converted '+100' to 100
' Attempted conversion of '-100' failed.
' Converted '000000000000000100' to 100
' Converted '00,100' to 100
' Attempted conversion of '2E+3 ' failed.
' Converted 'FF' to 255
' Attempted conversion of '0x1F' failed.
Comentarios
El TryParse método es similar al Parse método , excepto que el TryParse método no produce una excepción si se produce un error en la conversión.
El s parámetro se analiza mediante la información de formato de un NumberFormatInfo objeto proporcionado por el provider parámetro .
El parámetro style define los elementos de estilo (como el espacio en blanco o el signo positivo) que se permiten en el s parámetro para que la operación de análisis se realice correctamente. Debe ser una combinación de marcas de bits de la NumberStyles enumeración. Según el valor de style, el s parámetro puede incluir los siguientes elementos:
[ws][$][sign]digits[.fractional_digits][e[sign]digits][ws]
O bien, si el style parámetro incluye AllowHexSpecifier:
[ws]hexdigits[ws]
Los elementos entre corchetes ( [ y ] ) son opcionales. En esta tabla se describe cada elemento.
| Elemento | Descripción |
|---|---|
| Ws | Espacio en blanco opcional. El espacio en blanco puede aparecer al principio de s si incluye la NumberStyles.AllowLeadingWhite marca o al final de s si el estilo incluye la NumberStyles.AllowTrailingWhitestyle marca. |
| $ | Símbolo de moneda específico de la referencia cultural. Su posición en la cadena se define mediante la NumberFormatInfo.CurrencyPositivePattern propiedad del NumberFormatInfo objeto devuelto por el GetFormat método del provider parámetro . El símbolo de moneda puede aparecer en s si style incluye la NumberStyles.AllowCurrencySymbol marca . |
| firma | Un signo positivo opcional. (Se produce un error en la operación de análisis si hay un signo negativo en s). El signo puede aparecer al principio de s si incluye la NumberStyles.AllowLeadingSign marca o al final de s si style incluye la NumberStyles.AllowTrailingSign marca.style |
| dígitos | Secuencia de dígitos de 0 a 9. |
| . | Símbolo de separador decimal específico de la referencia cultural. El símbolo decimal de la referencia cultural especificada por provider puede aparecer en s si style incluye la NumberStyles.AllowDecimalPoint marca . |
| fractional_digits | Una o varias apariciones del dígito 0. Los dígitos fraccionarios solo pueden aparecer en s si style incluye la NumberStyles.AllowDecimalPoint marca . |
| e | Carácter e o E, que indica que el valor se representa en notación exponencial. El s parámetro puede representar un número en notación exponencial si style incluye la NumberStyles.AllowExponent marca . |
| hexdigits | Secuencia de dígitos hexadecimales de 0 a f o 0 a F. |
Nota:
La operación de análisis omite los caracteres NUL (U+0000) terminados, s independientemente del valor del style argumento.
Una cadena con dígitos decimales solo (que corresponde al NumberStyles.None estilo) siempre analiza correctamente. La mayoría de los miembros restantes NumberStyles controlan los elementos que pueden ser, pero no deben estar presentes en esta cadena de entrada. En la tabla siguiente se indica cómo afectan los miembros individuales NumberStyles a los elementos que pueden estar presentes en s.
| Valores de NumberStyles no compuestos | Elementos permitidos en s además de dígitos |
|---|---|
| NumberStyles.None | Solo dígitos decimales. |
| NumberStyles.AllowDecimalPoint | Los elementos . y fractional_digits . Sin embargo, fractional_digits deben constar de solo uno o más 0 dígitos o el método devuelve false. |
| NumberStyles.AllowExponent | El s parámetro también puede usar la notación exponencial. Si s representa un número en notación exponencial, debe representar un entero dentro del intervalo del tipo de datos sin un componente fraccionario distinto de Byte cero. |
| NumberStyles.AllowLeadingWhite | Elemento ws al principio de s. |
| NumberStyles.AllowTrailingWhite | Elemento ws al final de s. |
| NumberStyles.AllowLeadingSign | Un signo positivo puede aparecer antes de los dígitos. |
| NumberStyles.AllowTrailingSign | Un signo positivo puede aparecer después de los dígitos. |
| NumberStyles.AllowParentheses | Aunque se admite esta marca, el método devuelve false si los paréntesis están presentes en s. |
| NumberStyles.AllowThousands | Aunque el símbolo del separador de grupo puede aparecer en s, solo puede ir precedido por uno o varios dígitos. |
| NumberStyles.AllowCurrencySymbol | Elemento $ . |
Si se usa la NumberStyles.AllowHexSpecifier marca , s debe ser un valor hexadecimal sin prefijo. Por ejemplo, "F3" analiza correctamente, pero "0xF3" no. Las únicas marcas que pueden estar presentes en style son NumberStyles.AllowLeadingWhite y NumberStyles.AllowTrailingWhite. (La NumberStyles enumeración tiene un estilo de número compuesto, NumberStyles.HexNumber, que incluye ambas marcas de espacio en blanco).
El provider parámetro es una IFormatProvider implementación, como un CultureInfo objeto o un NumberFormatInfo objeto , cuyo GetFormat método devuelve un NumberFormatInfo objeto . El NumberFormatInfo objeto proporciona información específica de la referencia cultural sobre el formato de s.
Consulte también
- ToString()
- MaxValue
- MinValue
- NumberStyles
- NumberFormatInfo
- IFormatProvider
- Análisis de cadenas numéricas en .NET