Int64.TryParse Método

Definición

Convierte la representación en forma de cadena de un número en el entero de 64 bits con signo equivalente.Converts the string representation of a number to its 64-bit signed integer equivalent. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.A return value indicates whether the conversion succeeded or failed.

Sobrecargas

TryParse(String, Int64)

Convierte la representación en forma de cadena de un número en el entero de 64 bits con signo equivalente.Converts the string representation of a number to its 64-bit signed integer equivalent. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.A return value indicates whether the conversion succeeded or failed.

TryParse(ReadOnlySpan<Char>, Int64)

Convierte la representación de intervalo de un número en su entero de 64 bits con signo equivalente.Converts the span representation of a number to its 64-bit signed integer equivalent. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.A return value indicates whether the conversion succeeded or failed.

TryParse(String, NumberStyles, IFormatProvider, Int64)

Convierte la representación en forma de cadena de un número con el estilo y el formato específico de la referencia cultural que se hayan especificado en el entero de 64 bits con signo equivalente.Converts the string representation of a number in a specified style and culture-specific format to its 64-bit signed integer equivalent. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.A return value indicates whether the conversion succeeded or failed.

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Int64)

Convierte la representación de intervalo de un número con el estilo y el formato específico de la referencia cultural que se hayan especificado en el entero de 64 bits con signo equivalente.Converts the span representation of a number in a specified style and culture-specific format to its 64-bit signed integer equivalent. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.A return value indicates whether the conversion succeeded or failed.

TryParse(String, Int64)

Convierte la representación en forma de cadena de un número en el entero de 64 bits con signo equivalente.Converts the string representation of a number to its 64-bit signed integer equivalent. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(System::String ^ s, [Runtime::InteropServices::Out] long % result);
public static bool TryParse (string s, out long result);
static member TryParse : string * int64 -> bool
Public Shared Function TryParse (s As String, ByRef result As Long) As Boolean

Parámetros

s
String

Cadena que contiene un número que se va a convertir.A string containing a number to convert.

result
Int64

El resultado que devuelve este método contiene el valor entero con signo de 64 bits equivalente al número contenido en s si la conversión se realizó correctamente, o bien, cero si no se realizó correctamente.When this method returns, contains the 64-bit signed integer value equivalent of the number contained in s, if the conversion succeeded, or zero if the conversion failed. La conversión no se realiza correctamente si el parámetro s es null o Empty, no tiene el formato correcto o representa un número menor que MinValue o mayor que MaxValue.The conversion fails if the s parameter is null or Empty, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. Este parámetro se pasa sin inicializar; cualquier valor proporcionado originalmente en result se sobrescribirá.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Devoluciones

Boolean

true si s se convirtió correctamente; en caso contrario, false.true if s was converted successfully; otherwise, false.

Ejemplos

En el ejemplo siguiente se llama al Int64.TryParse(String, Int64) método con varios valores de cadena diferentes.The following example calls the Int64.TryParse(String, Int64) method with a number of different string values.

using System;

public class StringParsing
{
   public static void Main()
   {
      TryToParse(null);
      TryToParse("160519");
      TryToParse("9432.0");
      TryToParse("16,667");
      TryToParse("   -322   ");
      TryToParse("+4302");
      TryToParse("(100);");
      TryToParse("01FA");
   }

   private static void TryToParse(string value)
   {
      bool success = Int64.TryParse(value, out long number);
      if (success)
      {
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      else
      {
         if (value == null) value = "";
         Console.WriteLine("Attempted conversion of '{0}' failed.", value);
      }
   }
}
// The example displays the following output to the console:
//       Attempted conversion of '' failed.
//       Converted '160519' to 160519.
//       Attempted conversion of '9432.0' failed.
//       Attempted conversion of '16,667' failed.
//       Converted '   -322   ' to -322.
//       Converted '+4302' to 4302.
//       Attempted conversion of '(100);' failed.
//       Attempted conversion of '01FA' failed.
Module StringParsing
   Public Sub Main()
      TryToParse(Nothing)
      TryToParse("160519")
      TryToParse("9432.0")
      TryToParse("16,667")
      TryToParse("   -322   ")
      TryToParse("+4302")
      TryToParse("(100)")
      TryToParse("01FA")
   End Sub
   
   Private Sub TryToParse(value As String)
      Dim number As Long
      Dim result As Boolean = Int64.TryParse(value, number)
      If result Then
         Console.WriteLine("Converted '{0}' to {1}.", value, number)
      Else
         If value Is Nothing Then value = "" 
         Console.WriteLine("Attempted conversion of '{0}' failed.", value)
      End If     
   End Sub
End Module
' The example displays the following output to the console:
'       Attempted conversion of '' failed.
'       Converted '160519' to 160519.
'       Attempted conversion of '9432.0' failed.
'       Attempted conversion of '16,667' failed.
'       Converted '   -322   ' to -322.
'       Converted '+4302' to 4302.
'       Attempted conversion of '(100)' failed.
'       Attempted conversion of '01FA' failed.

Algunas de las cadenas que el TryParse(String, Int64) método no puede convertir en este ejemplo son:Some of the strings that the TryParse(String, Int64) method is unable to convert in this example are:

  • "9432.0"."9432.0". La conversión no se realiza correctamente porque la cadena no puede contener un separador decimal; solo debe contener dígitos enteros.The conversion fails because the string cannot contain a decimal separator; it must contain integral digits only.

  • "16,667"."16,667". La conversión no se realiza correctamente porque la cadena no puede contener separadores de grupos; solo debe contener dígitos enteros.The conversion fails because the string cannot contain group separators; it must contain integral digits only.

  • "(100)"."(100)". La conversión no se realiza correctamente porque la cadena no puede contener un signo negativo que no sea el definido por las propiedades y de la referencia cultural actual NumberFormatInfo.NegativeSign NumberFormatInfo.NumberNegativePattern .The conversion fails because the string cannot contain a negative sign other than the one defined by the current culture's NumberFormatInfo.NegativeSign and NumberFormatInfo.NumberNegativePattern properties.

  • "01FA"."01FA". La conversión no se realiza correctamente porque la cadena no puede contener dígitos hexadecimales; solo debe contener dígitos decimales.The conversion fails because the string cannot contain hexadecimal digits; it must contain decimal digits only.

Comentarios

El TryParse método es como el Parse método, con la excepción de que el TryParse método no produce una excepción si se produce un error en la conversión.The TryParse method is like the Parse method, except the TryParse method does not throw an exception if the conversion fails. Elimina la necesidad de usar el control de excepciones para probar un FormatException en el evento que s no es válido y no se puede analizar correctamente.It eliminates the need to use exception handling to test for a FormatException in the event that s is invalid and cannot be successfully parsed.

El s parámetro contiene un número de la forma:The s parameter contains a number of the form:

WS [signo] dígitos [ws][ws][sign]digits[ws]

Los elementos de los corchetes ([ y ]) son opcionales.Elements in square brackets ([ and ]) are optional. En esta tabla se describe cada elemento.The following table describes each element.

ElementoElement DescripciónDescription
WSws Un espacio en blanco opcional.An optional white space.
signsign Un signo opcional.An optional sign.
dígitosdigits Secuencia de dígitos que comprende del 0 al 9.A sequence of digits ranging from 0 to 9.

El s parámetro se interpreta utilizando el NumberStyles.Integer estilo.The s parameter is interpreted using the NumberStyles.Integer style. Además de los dígitos decimales, solo se permiten los espacios iniciales y finales junto con un signo inicial.In addition to the decimal digits, only leading and trailing spaces together with a leading sign are allowed. 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 TryParse(String, NumberStyles, IFormatProvider, Int64) método.To explicitly define the style elements together with the culture-specific formatting information that can be present in s, use the TryParse(String, NumberStyles, IFormatProvider, Int64) method.

El s parámetro se analiza utilizando la información de formato de un NumberFormatInfo objeto inicializado para la referencia cultural del sistema actual.The s parameter is parsed using the formatting information in a NumberFormatInfo object initialized for the current system culture. Para obtener más información, vea CurrentInfo.For more information, see CurrentInfo.

Esta sobrecarga del TryParse método interpreta todos los dígitos del s parámetro como dígitos decimales.This overload of the TryParse method interprets all digits in the s parameter as decimal digits. Para analizar la representación de cadena de un número hexadecimal, llame a la TryParse(String, NumberStyles, IFormatProvider, Int64) sobrecarga.To parse the string representation of a hexadecimal number, call the TryParse(String, NumberStyles, IFormatProvider, Int64) overload.

Consulte también

Se aplica a

Producto Introduced

TryParse(ReadOnlySpan<Char>, Int64)

Convierte la representación de intervalo de un número en su entero de 64 bits con signo equivalente.Converts the span representation of a number to its 64-bit signed integer equivalent. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(ReadOnlySpan<char> s, [Runtime::InteropServices::Out] long % result);
public static bool TryParse (ReadOnlySpan<char> s, out long result);
static member TryParse : ReadOnlySpan<char> * int64 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), ByRef result As Long) As Boolean

Parámetros

s
ReadOnlySpan<Char>

Un intervalo que contiene los caracteres que representan el número que se va a convertir.A span containing the characters representing the number to convert.

result
Int64

El resultado que devuelve este método contiene el valor entero con signo de 64 bits equivalente al número contenido en s si la conversión se realizó correctamente, o bien, cero si no se realizó correctamente.When this method returns, contains the 64-bit signed integer value equivalent of the number contained in s, if the conversion succeeded, or zero if the conversion failed. La conversión no se realiza correctamente si el parámetro s es null o Empty, no tiene el formato correcto o representa un número menor que MinValue o mayor que MaxValue.The conversion fails if the s parameter is null or Empty, is not of the correct format, or represents a number less than MinValue or greater than MaxValue. Este parámetro se pasa sin inicializar; cualquier valor proporcionado originalmente en result se sobrescribirá.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Devoluciones

Boolean

true si s se convirtió correctamente; en caso contrario, false.true if s was converted successfully; otherwise, false.

Se aplica a

Producto Introduced

TryParse(String, NumberStyles, IFormatProvider, Int64)

Convierte la representación en forma de cadena de un número con el estilo y el formato específico de la referencia cultural que se hayan especificado en el entero de 64 bits con signo equivalente.Converts the string representation of a number in a specified style and culture-specific format to its 64-bit signed integer equivalent. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] long % result);
public static bool TryParse (string s, System.Globalization.NumberStyles style, IFormatProvider provider, out long result);
static member TryParse : string * System.Globalization.NumberStyles * IFormatProvider * int64 -> bool
Public Shared Function TryParse (s As String, style As NumberStyles, provider As IFormatProvider, ByRef result As Long) As Boolean

Parámetros

s
String

Cadena que contiene un número que se va a convertir.A string containing a number to convert. La cadena se interpreta usando el estilo especificado por style.The string is interpreted using the style specified by style.

style
NumberStyles

Combinación bit a bit de los valores de enumeración que indica los elementos de estilo que pueden estar presentes en s.A bitwise combination of enumeration values that indicates the style elements that can be present in s. Un valor que se especifica de forma habitual es Integer.A typical value to specify is Integer.

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural acerca de s.An object that supplies culture-specific formatting information about s.

result
Int64

El resultado que devuelve este método contiene el valor entero con signo de 64 bits equivalente al número contenido en s si la conversión se realizó correctamente, o bien, cero si no se realizó correctamente.When this method returns, contains the 64-bit signed integer value equivalent of the number contained in s, if the conversion succeeded, or zero if the conversion failed. La conversión no se realiza correctamente si el parámetro es snull o Empty, no tiene un formato compatible con style o representa un número menor que MinValue o mayor que MaxValue.The conversion fails if the s parameter is null or Empty, is not in a format compliant with style, or represents a number less than MinValue or greater than MaxValue. Este parámetro se pasa sin inicializar; cualquier valor proporcionado originalmente en result se sobrescribirá.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Devoluciones

Boolean

true si s se convirtió correctamente; en caso contrario, false.true if s was converted successfully; otherwise, false.

Excepciones

style no es un valor NumberStyles.style is not a NumberStyles value.

o bien-or- style no es una combinación de valores AllowHexSpecifier y HexNumber.style is not a combination of AllowHexSpecifier and HexNumber values.

Ejemplos

En el ejemplo siguiente se llama al TryParse(String, NumberStyles, IFormatProvider, Int64) método con un número de cadenas y NumberStyles valores distintos.The following example calls the TryParse(String, NumberStyles, IFormatProvider, Int64) method with a number of different string and NumberStyles values.

using System;
using System.Globalization;

public class StringParsing
{
   public static void Main()
   {
      string numericString;
      NumberStyles styles;

      numericString = "106779";
      styles = NumberStyles.Integer;
      CallTryParse(numericString, styles);

      numericString = "-30677";
      styles = NumberStyles.None;
      CallTryParse(numericString, styles);

      styles = NumberStyles.AllowLeadingSign;
      CallTryParse(numericString, styles);

      numericString = "301677-";
      CallTryParse(numericString, styles);

      styles = styles | NumberStyles.AllowTrailingSign;
      CallTryParse(numericString, styles);

      numericString = "$10634";
      styles = NumberStyles.Integer;
      CallTryParse(numericString, styles);

      styles = NumberStyles.Integer | NumberStyles.AllowCurrencySymbol;
      CallTryParse(numericString, styles);

      numericString = "10345.00";
      styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
      CallTryParse(numericString, styles);

      numericString = "10345.72";
      styles = NumberStyles.Integer | NumberStyles.AllowDecimalPoint;
      CallTryParse(numericString, styles);

      numericString = "22,593";
      styles = NumberStyles.Integer | NumberStyles.AllowThousands;
      CallTryParse(numericString, styles);

      numericString = "12E-01";
      styles = NumberStyles.Integer | NumberStyles.AllowExponent;
      CallTryParse(numericString, styles);

      numericString = "12E03";
      CallTryParse(numericString, styles);

      numericString = "80c1";
      CallTryParse(numericString, NumberStyles.HexNumber);

      numericString = "0x80C1";
      CallTryParse(numericString, NumberStyles.HexNumber);
   }

   private static void CallTryParse(string stringToConvert, NumberStyles styles)
   {
      CultureInfo provider;

      // If currency symbol is allowed, use en-US culture.
      if ((styles & NumberStyles.AllowCurrencySymbol) > 0)
         provider = new CultureInfo("en-US");
      else
         provider = CultureInfo.InvariantCulture;

      bool success = Int64.TryParse(stringToConvert, styles,
                                   provider, out long number);
      if (success)
         Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
      else
         Console.WriteLine("Attempted conversion of '{0}' failed.",
                           Convert.ToString(stringToConvert));
   }
}
// The example displays the following output to the console:
//       Converted '106779' to 106779.
//       Attempted conversion of '-30677' failed.
//       Converted '-30677' to -30677.
//       Attempted conversion of '301677-' failed.
//       Converted '301677-' to -301677.
//       Attempted conversion of '$10634' failed.
//       Converted '$10634' to 10634.
//       Converted '10345.00' to 10345.
//       Attempted conversion of '10345.72' failed.
//       Converted '22,593' to 22593.
//       Attempted conversion of '12E-01' failed.
//       Converted '12E03' to 12000.
//       Converted '80c1' to 32961.
//       Attempted conversion of '0x80C1' failed.
Imports System.Globalization

Module StringParsing
   Public Sub Main()
      Dim numericString As String
      Dim styles As NumberStyles
      
      numericString = "106779"
      styles = NumberStyles.Integer
      CallTryParse(numericString, styles)
      
      numericString = "-30677"
      styles = NumberStyles.None
      CallTryParse(numericString, styles)
      
      styles = NumberStyles.AllowLeadingSign
      CallTryParse(numericString, styles)
      
      numericString = "301677-"
      CallTryParse(numericString, styles)
      
      styles = styles Or NumberStyles.AllowTrailingSign
      CallTryParse(numericString, styles)
      
      numericString = "$10634"
      styles = NumberStyles.Integer
      CallTryParse(numericString, styles)
      
      styles = NumberStyles.Integer Or NumberStyles.AllowCurrencySymbol
      CallTryParse(numericString, styles)

      numericString = "10345.00"
      styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
      CallTryParse(numericString, styles)
      
      numericString = "10345.72"
      styles = NumberStyles.Integer Or NumberStyles.AllowDecimalPoint
      CallTryParse(numericString, styles)

      numericString = "22,593" 
      styles = NumberStyles.Integer Or NumberStyles.AllowThousands
      CallTryParse(numericString, styles)
      
      numericString = "12E-01"
      styles = NumberStyles.Integer Or NumberStyles.AllowExponent
      CallTryParse(numericString, styles) 
          
      numericString = "12E03"
      CallTryParse(numericString, styles) 
      
      numericString = "80c1"
      CallTryParse(numericString, NumberStyles.HexNumber)
      
      numericString = "0x80C1"
      CallTryParse(numericString, NumberStyles.HexNumber)
   End Sub
   
   Private Sub CallTryParse(stringToConvert As String, styles AS NumberStyles)
      Dim number As Long
      Dim provider As CultureInfo
      
      ' If currency symbol is allowed, use en-US culture.
      If CBool(styles And NumberStyles.AllowCurrencySymbol) Then
         provider = CultureInfo.CurrentCulture
      Else
         provider = New CultureInfo("en-US")
      End If
      
      Dim result As Boolean = Int64.TryParse(stringToConvert, styles, _
                                             provider, number)
      If result Then
         Console.WriteLine("Converted '{0}' to {1}.", stringToConvert, number)
      Else
         Console.WriteLine("Attempted conversion of '{0}' failed.", _
                           Convert.ToString(stringToConvert))
      End If                                                                           
   End Sub
End Module
' The example displays the following output to the console:
'       Converted '106779' to 106779.
'       Attempted conversion of '-30677' failed.
'       Converted '-30677' to -30677.
'       Attempted conversion of '301677-' failed.
'       Converted '301677-' to -301677.
'       Attempted conversion of '$10634' failed.
'       Converted '$10634' to 10634.
'       Converted '10345.00' to 10345.
'       Attempted conversion of '10345.72' failed.
'       Converted '22,593' to 22593.
'       Attempted conversion of '12E-01' failed.
'       Converted '12E03' to 12000.
'       Converted '80c1' to 32961.
'       Attempted conversion of '0x80C1' failed.

Comentarios

El TryParse método es como el Parse método, con la excepción de que el TryParse método no produce una excepción si se produce un error en la conversión.The TryParse method is like the Parse method, except the TryParse method does not throw an exception if the conversion fails. Elimina la necesidad de usar el control de excepciones para probar un FormatException en el evento que s no es válido y no se puede analizar correctamente.It eliminates the need to use exception handling to test for a FormatException in the event that s is invalid and cannot be parsed successfully.

El style parámetro define los elementos de estilo (como un espacio en blanco o un signo positivo o negativo) que se permiten en el s parámetro para que la operación de análisis se realice correctamente.The style parameter defines the style elements (such as white space or a positive or negative sign) that are allowed in the s parameter for the parse operation to succeed. Debe ser una combinación de marcas de bits de la NumberStyles enumeración.It must be a combination of bit flags from the NumberStyles enumeration. Dependiendo del valor de style , el s parámetro puede incluir los siguientes elementos:Depending on the value of style,the s parameter may include the following elements:

WS [$] sesión [digits,] digits [. fractional_digits] [e [Sign] exponential_digits] [ws][ws][$][sign][digits,]digits[.fractional_digits][e[sign]exponential_digits][ws]

O bien, si el style parámetro incluye NumberStyles.AllowHexSpecifier :Or, if the style parameter includes NumberStyles.AllowHexSpecifier:

[ws] hexdigits [ws][ws]hexdigits[ws]

Los elementos de los corchetes ([ y ]) son opcionales.Elements in square brackets ([ and ]) are optional. En esta tabla se describe cada elemento.The following table describes each element.

ElementoElement DescripciónDescription
WSws Espacio en blanco opcional.Optional white space. Puede aparecer un espacio en blanco al principio de s si style incluye la NumberStyles.AllowLeadingWhite marca o al final de s si style incluye la NumberStyles.AllowTrailingWhite marca.White space can appear at the beginning of s if style includes the NumberStyles.AllowLeadingWhite flag, or at the end of s if style includes the NumberStyles.AllowTrailingWhite flag.
$ Un símbolo de divisa específico de la referencia cultural.A culture-specific currency symbol. La CurrencyPositivePattern propiedad del NumberFormatInfo objeto devuelto por el GetFormat método del parámetro define su posición en la cadena provider .Its position in the string is defined by the CurrencyPositivePattern property of the NumberFormatInfo object returned by the GetFormat method of the provider parameter. El símbolo de moneda puede aparecer en s si style incluye la NumberStyles.AllowCurrencySymbol marca.The currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Un signo opcional.An optional sign. Puede aparecer un símbolo de signo en s si style incluye NumberStyles.AllowLeadingSign las NumberStyles.AllowTrailingSign marcas o.A sign symbol can appear in s if style includes the NumberStyles.AllowLeadingSign or NumberStyles.AllowTrailingSign flags.
dígitosdigits

fractional_digitsfractional_digits

exponential_digitsexponential_digits
Secuencia de dígitos del 0 al 9.A sequence of digits from 0 through 9. Por fractional_digits, solo el dígito 0 es válido.For fractional_digits, only the digit 0 is valid.
,, Separador de miles específico de la referencia cultural.A culture-specific thousands separator. El separador de miles de la referencia cultural especificada por provider puede aparecer en s si style incluye la NumberStyles.AllowThousands marca.The thousands separator of the culture specified by provider can appear in s if style includes the NumberStyles.AllowThousands flag.
.. Un símbolo de separador decimal específico de la referencia cultural.A culture-specific decimal point symbol. El símbolo de separador decimal de la referencia cultural especificada por provider puede aparecer en s si style incluye la NumberStyles.AllowDecimalPoint marca.The decimal point symbol of the culture specified by provider can appear in s if style includes the NumberStyles.AllowDecimalPoint flag.
ee El carácter ' e ' o ' E ', que indica que el valor se representa en notación exponencial.The 'e' or 'E' character, which indicates that the value is represented in exponential notation. El s parámetro puede representar un número en notación exponencial si style incluye la NumberStyles.AllowExponent marca.The s parameter can represent a number in exponential notation if style includes the NumberStyles.AllowExponent flag.
hexdigitshexdigits Secuencia de dígitos hexadecimales de 0 a f, o de 0 a F.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Nota

Los caracteres NUL de terminación (U + 0000) de s se omiten en la operación de análisis, independientemente del valor del style argumento.Any terminating NUL (U+0000) characters in s are ignored by the parsing operation, regardless of the value of the style argument.

Una cadena con dígitos decimales solamente (que corresponde a la NumberStyles.None marca) siempre se analiza correctamente.A string with decimal digits only (which corresponds to the NumberStyles.None flag) always parses successfully. La mayoría de los NumberStyles miembros restantes controlan los elementos que pueden estar presentes en esta cadena de entrada, pero que no son necesarios.Most of the remaining NumberStyles members control elements that may be but are not required to be present in this input string. En la tabla siguiente se indica cómo NumberStyles afectan los miembros individuales a los elementos que pueden estar presentes en s .The following table indicates how individual NumberStyles members affect the elements that may be present in s.

Valores NumberStyles no compuestosNon-composite NumberStyles values Elementos permitidos en s además de dígitosElements permitted in s in addition to digits
NumberStyles.None Solo dígitos decimales.Decimal digits only.
NumberStyles.AllowDecimalPoint El separador decimal ( .The decimal point ( . ) y fractional_digits elementos.) and fractional_digits elements. Sin embargo, fractional_digits debe constar solo de uno o más dígitos 0 o el método devuelve false .However, fractional_digits must consist of only one or more 0 digits or the method returns false.
NumberStyles.AllowExponent El s parámetro también puede usar la notación exponencial.The s parameter can also use exponential notation. El s parámetro debe representar un entero en el intervalo del tipo de Int64 datos sin un componente de fracción distinto de cero.The s parameter must represent an integer within the range of the Int64 data type without a non-zero fractional component.
NumberStyles.AllowLeadingWhite Elemento WS al principio de s .The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite Elemento WS al final de s .The ws element at the end of s.
NumberStyles.AllowLeadingSign Un signo puede aparecer antes que los dígitos.A sign can appear before digits.
NumberStyles.AllowTrailingSign Puede aparecer un signo después de los dígitos.A sign can appear after digits.
NumberStyles.AllowParentheses El elemento Sign en el formato de paréntesis que rodea el valor numérico.The sign element in the form of parentheses enclosing the numeric value.
NumberStyles.AllowThousands El elemento separador de miles ( , ).The thousands separator ( , ) element.
NumberStyles.AllowCurrencySymbol $ Elemento.The $ element.
NumberStyles.Currency Todos los elementos.All elements. El s parámetro no puede representar un número hexadecimal o un número en notación exponencial.The s parameter cannot represent a hexadecimal number or a number in exponential notation.
NumberStyles.Float El elemento WS al principio o al final de s , Sign al principio de s y el separador decimal ( .The ws element at the beginning or end of s, sign at the beginning of s, and the decimal point ( . símbolo.) symbol. El s parámetro también puede usar la notación exponencial.The s parameter can also use exponential notation.
NumberStyles.Number Los elementos WS, Sign, separador de miles (,) y punto decimal (.).The ws, sign, thousands separator (,), and decimal point (.) elements.
NumberStyles.Any Todos los estilos, excepto s no pueden representar un número hexadecimal.All styles, except s cannot represent a hexadecimal number.

Si NumberStyles.AllowHexSpecifier se usa la marca, s debe ser un valor hexadecimal sin un prefijo.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value without a prefix. Por ejemplo, "C9AF3" se analiza correctamente, pero "0xC9AF3" no lo hace.For example, "C9AF3" parses successfully, but "0xC9AF3" does not. Las demás marcas que pueden estar presentes en style son NumberStyles.AllowLeadingWhite y NumberStyles.AllowTrailingWhite .The only other flags that can be present in style are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (La NumberStyles enumeración tiene un estilo compuesto, NumberStyles.HexNumber , que incluye ambas marcas de espacio en blanco).(The NumberStyles enumeration has a composite style, NumberStyles.HexNumber, that includes both white space flags.)

El provider parámetro es una IFormatProvider implementación de, como un CultureInfo objeto o un objeto NumberFormatInfo , cuyo GetFormat método devuelve un NumberFormatInfo objeto.The provider parameter is an IFormatProvider implementation, such as a CultureInfo object or a NumberFormatInfo object, whose GetFormat method returns a NumberFormatInfo object. El NumberFormatInfo objeto proporciona información específica de la referencia cultural acerca del formato de s .The NumberFormatInfo object provides culture-specific information about the format of s. Si provider es null , NumberFormatInfo se usa el objeto de la referencia cultural actual.If provider is null, the NumberFormatInfo object for the current culture is used.

Consulte también

Se aplica a

Producto Introduced

TryParse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider, Int64)

Convierte la representación de intervalo de un número con el estilo y el formato específico de la referencia cultural que se hayan especificado en el entero de 64 bits con signo equivalente.Converts the span representation of a number in a specified style and culture-specific format to its 64-bit signed integer equivalent. Un valor devuelto indica si la conversión se realizó correctamente o si se produjeron errores.A return value indicates whether the conversion succeeded or failed.

public:
 static bool TryParse(ReadOnlySpan<char> s, System::Globalization::NumberStyles style, IFormatProvider ^ provider, [Runtime::InteropServices::Out] long % result);
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider? provider, out long result);
public static bool TryParse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style, IFormatProvider provider, out long result);
static member TryParse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider * int64 -> bool
Public Shared Function TryParse (s As ReadOnlySpan(Of Char), style As NumberStyles, provider As IFormatProvider, ByRef result As Long) As Boolean

Parámetros

s
ReadOnlySpan<Char>

Un intervalo que contiene los caracteres que representan el número que se va a convertir.A span containing the characters representing the number to convert. El intervalo se interpreta mediante el estilo especificado por style.The span is interpreted using the style specified by style.

style
NumberStyles

Combinación bit a bit de los valores de enumeración que indica los elementos de estilo que pueden estar presentes en s.A bitwise combination of enumeration values that indicates the style elements that can be present in s. Un valor que se especifica de forma habitual es Integer.A typical value to specify is Integer.

provider
IFormatProvider

Objeto que proporciona información de formato específica de la referencia cultural acerca de s.An object that supplies culture-specific formatting information about s.

result
Int64

El resultado que devuelve este método contiene el valor entero con signo de 64 bits equivalente al número contenido en s si la conversión se realizó correctamente, o bien, cero si no se realizó correctamente.When this method returns, contains the 64-bit signed integer value equivalent of the number contained in s, if the conversion succeeded, or zero if the conversion failed. La conversión no se realiza correctamente si el parámetro es snull o Empty, no tiene un formato compatible con style o representa un número menor que MinValue o mayor que MaxValue.The conversion fails if the s parameter is null or Empty, is not in a format compliant with style, or represents a number less than MinValue or greater than MaxValue. Este parámetro se pasa sin inicializar; cualquier valor proporcionado originalmente en result se sobrescribirá.This parameter is passed uninitialized; any value originally supplied in result will be overwritten.

Devoluciones

Boolean

true si s se convirtió correctamente; en caso contrario, false.true if s was converted successfully; otherwise, false.

Se aplica a

Producto Introduced