Int32.TryParse Int32.TryParse Int32.TryParse Int32.TryParse Method

Definición

Convierte la representación en forma de cadena de un número en el entero de 32 bits con signo equivalente.Converts the string representation of a number to its 32-bit signed integer equivalent. Un valor devuelto indica si la operación tuvo éxito.A return value indicates whether the operation succeeded.

Sobrecargas

TryParse(String, Int32) TryParse(String, Int32) TryParse(String, Int32) TryParse(String, Int32)

Convierte la representación en forma de cadena de un número en el entero de 32 bits con signo equivalente.Converts the string representation of a number to its 32-bit signed integer equivalent. Un valor devuelto indica si la conversión tuvo éxito.A return value indicates whether the conversion succeeded.

TryParse(ReadOnlySpan<Char>, Int32) TryParse(ReadOnlySpan<Char>, Int32) TryParse(ReadOnlySpan<Char>, Int32) TryParse(ReadOnlySpan<Char>, Int32)
TryParse(String, NumberStyles, IFormatProvider, Int32) TryParse(String, NumberStyles, IFormatProvider, Int32) TryParse(String, NumberStyles, IFormatProvider, Int32) TryParse(String, NumberStyles, IFormatProvider, Int32)

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 32 bits con signo equivalente.Converts the string representation of a number in a specified style and culture-specific format to its 32-bit signed integer equivalent. Un valor devuelto indica si la conversión tuvo éxito.A return value indicates whether the conversion succeeded.

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

TryParse(String, Int32) TryParse(String, Int32) TryParse(String, Int32) TryParse(String, Int32)

Convierte la representación en forma de cadena de un número en el entero de 32 bits con signo equivalente.Converts the string representation of a number to its 32-bit signed integer equivalent. Un valor devuelto indica si la conversión tuvo éxito.A return value indicates whether the conversion succeeded.

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

Parámetros

s
String String String String

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

result
Int32 Int32 Int32 Int32

El resultado que devuelve este método contiene el valor entero con signo de 32 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 32-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

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

Ejemplos

El ejemplo siguiente se llama el Int32.TryParse(String, Int32) método con un número de valores de cadena diferentes.The following example calls the Int32.TryParse(String, Int32) method with a number of different string values.

using namespace System;


   void TryToParse(String^ value)
   {
      Int32 number;
      bool result = Int32::TryParse(value, number);
      if (result) {
         Console::WriteLine("Converted '{0}' to {1}.", value, number);
      }
      else {
         if (value == nullptr) value = "";
         Console::WriteLine("Attempted conversion of '{0}' failed.", value);
      }
   }


void main()
{
      TryToParse(nullptr);
      TryToParse("160519");
      TryToParse("9432.0");
      TryToParse("16,667");
      TryToParse("   -322   ");
      TryToParse("+4302");
      TryToParse("(100);");
      TryToParse("01FA");
}
// The example displays the following output:
//      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.
using System;

public class Example
{
   public static void Main()
   {
      String[] values = { null, "160519", "9432.0", "16,667",
                          "   -322   ", "+4302", "(100);", "01FA" };
      foreach (var value in values) 
      {
         int number;
   
         bool success = Int32.TryParse(value, out number);
         if (success)
         {
            Console.WriteLine("Converted '{0}' to {1}.", value, number);         
         }
         else
         {
            Console.WriteLine("Attempted conversion of '{0}' failed.", 
                               value ?? "<null>");
         }
      }
   }
}
// The example displays the following output:
//       Attempted conversion of '<null>' 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 Example
   Public Sub Main()
      Dim values() As String = { Nothing, "160519", "9432.0", "16,667",
                                 "   -322   ", "+4302", "(100);", 
                                 "01FA" }

      For Each value In values
         Dim number As Integer
    
         Dim success As Boolean = Int32.TryParse(value, number)
         If success Then
            Console.WriteLine("Converted '{0}' to {1}.", value, number)
         Else
            Console.WriteLine("Attempted conversion of '{0}' failed.", 
                              If(value ,"<null>"))
         End If     
      Next
   End Sub
End Module
' The example displays the following output to the console:
'       Attempted conversion of '<null>' 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, Int32) método es no se puede convertir en este ejemplo son:Some of the strings that the TryParse(String, Int32) method is unable to convert in this example are:

  • "9432.0"."9432.0". La conversión se produce un error porque la cadena no puede contener un separador decimal; debe contener solo 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 se produce un error porque la cadena no puede tener separadores de grupo; debe contener solo dígitos enteros.The conversion fails because the string cannot contain group separators; it must contain integral digits only.

  • "(100)"."(100)". La conversión se produce un error porque la cadena no puede contener un signo negativo distinto del definido por la referencia cultural actual NumberFormatInfo.NegativeSign y NumberFormatInfo.NumberNegativePattern propiedades.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 se produce un error porque la cadena no puede contener dígitos hexadecimales; debe contener solo 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 similar a la Parse método, excepto 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 una FormatException en caso de que s no es válido y no puede analizarse 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 del formulario:The s parameter contains a number of the form:

[ws] dígitos [inicio de sesión] [ws][ws][sign]digits[ws]

Elementos de los corchetes ([y]) son opcionales.Items 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.
signsign Un signo opcional.An optional sign.
digitsdigits Una 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 usando el NumberStyles.Integer estilo.The s parameter is interpreted using the NumberStyles.Integer style. Además de los dígitos decimales, se permiten solo 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 pueden estar presentes en s, utilice el Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) método.To explicitly define the style elements together with the culture-specific formatting information that can be present in s, use the Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) method.

El s parámetro se analiza utilizando la información de formato en un NumberFormatInfo objeto inicializado para la referencia cultural actual del sistema.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 de la TryParse método interpreta todos los dígitos en el 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 Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) de sobrecarga.To parse the string representation of a hexadecimal number, call the Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) overload.

Consulte también:

TryParse(ReadOnlySpan<Char>, Int32) TryParse(ReadOnlySpan<Char>, Int32) TryParse(ReadOnlySpan<Char>, Int32) TryParse(ReadOnlySpan<Char>, Int32)

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

Parámetros

Devoluciones

TryParse(String, NumberStyles, IFormatProvider, Int32) TryParse(String, NumberStyles, IFormatProvider, Int32) TryParse(String, NumberStyles, IFormatProvider, Int32) TryParse(String, NumberStyles, IFormatProvider, Int32)

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 32 bits con signo equivalente.Converts the string representation of a number in a specified style and culture-specific format to its 32-bit signed integer equivalent. Un valor devuelto indica si la conversión tuvo éxito.A return value indicates whether the conversion succeeded.

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

Parámetros

s
String String String 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 NumberStyles NumberStyles 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 IFormatProvider IFormatProvider 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
Int32 Int32 Int32 Int32

El resultado que devuelve este método contiene el valor entero con signo de 32 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 32-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 s null 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

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

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

using namespace System;
using namespace System::Globalization;

void CallTryParse(String^ stringToConvert, NumberStyles styles)
{
      Int32 number;
      CultureInfo^ provider;

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

      bool result = Int32::TryParse(stringToConvert, styles, 
                                   provider, number);
      if (result)
         Console::WriteLine("Converted '{0}' to {1}.", stringToConvert, number);
      else
         Console::WriteLine("Attempted conversion of '{0}' failed.", 
                           Convert::ToString(stringToConvert));
}

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);      
      Console::ReadLine();
}
// The example displays the following output:
//      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.
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 = Int32.TryParse(stringToConvert, styles, 
                                   provider, out int 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 Integer
      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 = Int32.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 similar a la Parse método, excepto 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 una FormatException en caso de que s no es válido y no puede analizarse 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 espacios en blanco o un signo positivo o negativo) que se permiten en el s parámetro para 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][$][sign][digits,]digits[.fractional_digits][e[sign]digits][ws][ws][$][sign][digits,]digits[.fractional_digits][e[sign]digits][ws]

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

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

Elementos de los corchetes ([y]) son opcionales.Items 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. Pueden aparecer espacios 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 moneda de la referencia cultural específica.A culture-specific currency symbol. Su posición en la cadena viene definida por el CurrencyPositivePattern propiedad de la NumberFormatInfo objeto devuelto por la GetFormat método de la provider parámetro.Its position in the string is defined by the CurrencyPositivePattern property of the NumberFormatInfo object returned by the GetFormat method of the provider parameter. Puede aparecer el símbolo de moneda 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. Un símbolo de signo puede aparecer en s si style incluye la NumberStyles.AllowLeadingSign o NumberStyles.AllowTrailingSign marcas.A sign symbol can appear in s if style includes the NumberStyles.AllowLeadingSign or NumberStyles.AllowTrailingSign flags.
digitsdigits Una secuencia de dígitos del 0 al 9.A sequence of digits from 0 through 9.
,, Específicas de referencias culturales miles separador.A culture-specific thousands separator. Miles separador de la referencia cultural especificada por provider pueden 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 de decimales de referencia cultural específica.A culture-specific decimal point symbol. El símbolo de separador decimal de la referencia cultural especificada por provider pueden 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.
fractional_digitsfractional_digits Una o más apariciones del dígito 0.One or more occurrences of the digit 0. Pueden aparecer dígitos fraccionarios en s solo si style incluye la NumberStyles.AllowDecimalPoint marca.Fractional digits can appear in s only if style includes the NumberStyles.AllowDecimalPoint flag.
ee El 'e' o el carácter "E", que indica que el valor está representado 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 Una secuencia de dígitos hexadecimales de 0 a f o 0 hasta la f el.A sequence of hexadecimal digits from 0 through f, or 0 through F.

Nota

Terminación NUL (u+0000) caracteres en s son ignoradas por la operación de análisis, independientemente del valor de la 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 solo dígitos decimales (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 restantes NumberStyles miembros controlan los elementos que pueden ser, pero no tienen que estar presentes en esta cadena de entrada.Most of the remaining NumberStyles members control elements that may be but are not required to be present in this input string. La tabla siguiente se indica cómo individuales NumberStyles miembros afectan 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 Dígitos decimales.Decimal digits only.
NumberStyles.AllowDecimalPoint El separador decimal (.) y dígitos fraccionarios elementos.The decimal point (.) and fractional_digits elements. Sin embargo, dígitos fraccionarios debe constar de uno o más dígitos de 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 utilizar la notación exponencial.The s parameter can also use exponential notation. Si s representa un número en notación exponencial, debe representar un número entero comprendido entre el Int32 tipo de datos sin un componente fraccionario distinto de cero.If s represents a number in exponential notation, it must represent an integer within the range of the Int32 data type without a non-zero, fractional component.
NumberStyles.AllowLeadingWhite El ws elemento situado al principio de s.The ws element at the beginning of s.
NumberStyles.AllowTrailingWhite El ws elemento al final de s.The ws element at the end of s.
NumberStyles.AllowLeadingSign Puede aparecer un signo antes dígitos.A sign can appear before digits.
NumberStyles.AllowTrailingSign Puede aparecer un signo después dígitos.A sign can appear after digits.
NumberStyles.AllowParentheses El sesión elemento con la forma de paréntesis para delimitar el valor numérico.The sign element in the form of parentheses enclosing the numeric value.
NumberStyles.AllowThousands Miles separador (,) elemento.The thousands separator (,) element.
NumberStyles.AllowCurrencySymbol El $ 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 ws elemento al principio o al final de s, sesión al principio de sy el separador decimal (.) símbolos.The ws element at the beginning or end of s, sign at the beginning of s, and the decimal point (.) symbol. El s parámetro también puede utilizar la notación exponencial.The s parameter can also use exponential notation.
NumberStyles.Number El ws, sesión, miles separador (,) y el separador decimal (.) elementos.The ws, sign, thousands separator (,), and decimal point (.) elements.
NumberStyles.Any Todos los estilos, excepto s no se puede representar un número hexadecimal.All styles, except s cannot represent a hexadecimal number.

Si el NumberStyles.AllowHexSpecifier se utiliza marca, s debe ser un valor hexadecimal sin prefijo.If the NumberStyles.AllowHexSpecifier flag is used, s must be a hexadecimal value without a prefix. Por ejemplo, "C9AF3" se analiza correctamente, pero no "0xC9AF3".For example, "C9AF3" parses successfully, but "0xC9AF3" does not. Los únicos otros marcadores 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. (El NumberStyles enumeración tiene un estilo compuesto, NumberStyles.HexNumber, que incluye ambos marcadores de espacio en blanco.)(The NumberStyles enumeration has a composite style, NumberStyles.HexNumber, that includes both white space flags.)

El provider parámetro es un IFormatProvider implementación, como un CultureInfo objeto o un NumberFormatInfo objeto cuya propiedad 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 sobre el formato de s.The NumberFormatInfo object provides culture-specific information about the format of s. Si provider es null, el NumberFormatInfo objeto se usa la referencia cultural actual.If provider is null, the NumberFormatInfo object for the current culture is used.

Consulte también:

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

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

Parámetros

Devoluciones

Se aplica a