Int32.Parse Int32.Parse Int32.Parse Int32.Parse 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.

Sobrecargas

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

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.

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)
Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

Convierte la representación en forma de cadena de un número con el estilo especificado en el entero de 32 bits con signo equivalente.Converts the string representation of a number in a specified style to its 32-bit signed integer equivalent.

Parse(String) Parse(String) Parse(String) Parse(String)

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.

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Convierte la representación en forma de cadena de un número en el formato específico de la referencia cultural que se haya especificado en el entero de 32 bits con signo equivalente.Converts the string representation of a number in a specified culture-specific format to its 32-bit signed integer equivalent.

Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider) Parse(String, NumberStyles, IFormatProvider)

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.

public:
 static int Parse(System::String ^ s, System::Globalization::NumberStyles style, IFormatProvider ^ provider);
public static int Parse (string s, System.Globalization.NumberStyles style, IFormatProvider provider);
static member Parse : string * System.Globalization.NumberStyles * IFormatProvider -> int
Public Shared Function Parse (s As String, style As NumberStyles, provider As IFormatProvider) As Integer

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.

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 aporta información específica de la referencia cultural acerca del formato de s.An object that supplies culture-specific information about the format of s.

Devoluciones

Entero con signo de 32 bits equivalente al número especificado en s.A 32-bit signed integer equivalent to the number specified in s.

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.

s no está en un formato compatible con style.s is not in a format compliant with style.

s representa un número menor que MinValue o mayor que MaxValue.s represents a number less than MinValue or greater than MaxValue.

O bien-or- s incluye dígitos fraccionarios distintos de cero.s includes non-zero, fractional digits.

Ejemplos

En el ejemplo siguiente se usa una variedad de style y provider parámetros para analizar las representaciones de cadena de Int32 valores.The following example uses a variety of style and provider parameters to parse the string representations of Int32 values. También muestra algunas de las distintas formas en que se puede interpretar la misma cadena según la referencia cultural cuya información de formato se usa para la operación de análisis.It also illustrates some of the different ways the same string can be interpreted depending on the culture whose formatting information is used for the parsing operation.

using namespace System;
using namespace System::Globalization;

public ref class ParseInt32
{
public:
   static void Main()
   {
      Convert("12,000", NumberStyles::Float | NumberStyles::AllowThousands, 
              gcnew CultureInfo("en-GB"));
      Convert("12,000", NumberStyles::Float | NumberStyles::AllowThousands,
              gcnew CultureInfo("fr-FR"));
      Convert("12,000", NumberStyles::Float, gcnew CultureInfo("en-US"));

      Convert("12 425,00", NumberStyles::Float | NumberStyles::AllowThousands,
              gcnew CultureInfo("sv-SE"));
      Convert("12,425.00", NumberStyles::Float | NumberStyles::AllowThousands,
              NumberFormatInfo::InvariantInfo);
      Convert("631,900", NumberStyles::Integer | NumberStyles::AllowDecimalPoint, 
              gcnew CultureInfo("fr-FR"));
      Convert("631,900", NumberStyles::Integer | NumberStyles::AllowDecimalPoint,
              gcnew CultureInfo("en-US"));
      Convert("631,900", NumberStyles::Integer | NumberStyles::AllowThousands,
              gcnew CultureInfo("en-US"));
   }

private:
   static void Convert(String^ value, NumberStyles style,
                               IFormatProvider^ provider)
   {
      try
      {
         int number = Int32::Parse(value, style, provider);
         Console::WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException^)
      {
         Console::WriteLine("Unable to convert '{0}'.", value);
      }
      catch (OverflowException^)
      {
         Console::WriteLine("'{0}' is out of range of the Int32 type.", value);   
      }
   }                               
};

int main()
{
    ParseInt32::Main();
}
// This example displays the following output to the console:
//       Converted '12,000' to 12000.
//       Converted '12,000' to 12.
//       Unable to convert '12,000'.
//       Converted '12 425,00' to 12425.
//       Converted '12,425.00' to 12425.
//       '631,900' is out of range of the Int32 type.
//       Unable to convert '631,900'.
//       Converted '631,900' to 631900.
using System;
using System.Globalization;

public class ParseInt32
{
   public static void Main()
   {
      Convert("12,000", NumberStyles.Float | NumberStyles.AllowThousands, 
              new CultureInfo("en-GB"));
      Convert("12,000", NumberStyles.Float | NumberStyles.AllowThousands,
              new CultureInfo("fr-FR"));
      Convert("12,000", NumberStyles.Float, new CultureInfo("en-US"));
      
      Convert("12 425,00", NumberStyles.Float | NumberStyles.AllowThousands,
              new CultureInfo("sv-SE"));
      Convert("12,425.00", NumberStyles.Float | NumberStyles.AllowThousands,
              NumberFormatInfo.InvariantInfo);
      Convert("631,900", NumberStyles.Integer | NumberStyles.AllowDecimalPoint, 
              new CultureInfo("fr-FR"));
      Convert("631,900", NumberStyles.Integer | NumberStyles.AllowDecimalPoint,
              new CultureInfo("en-US"));
      Convert("631,900", NumberStyles.Integer | NumberStyles.AllowThousands,
              new CultureInfo("en-US"));
   }

   private static void Convert(string value, NumberStyles style, 
                               IFormatProvider provider)
   {
      try
      {
         int number = Int32.Parse(value, style, provider);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to convert '{0}'.", value);
      }   
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is out of range of the Int32 type.", value);   
      }
   }                               
}
// This example displays the following output to the console:
//       Converted '12,000' to 12000.
//       Converted '12,000' to 12.
//       Unable to convert '12,000'.
//       Converted '12 425,00' to 12425.
//       Converted '12,425.00' to 12425.
//       '631,900' is out of range of the Int32 type.
//       Unable to convert '631,900'.
//       Converted '631,900' to 631900.
Imports System.Globalization

Module ParseInt32
   Public Sub Main()
      Convert("12,000", NumberStyles.Float Or NumberStyles.AllowThousands, _
              New CultureInfo("en-GB"))      
      Convert("12,000", NumberStyles.Float Or NumberStyles.AllowThousands, _
              New CultureInfo("fr-FR"))
      Convert("12,000", NumberStyles.Float, New CultureInfo("en-US"))
      
      Convert("12 425,00", NumberStyles.Float Or NumberStyles.AllowThousands, _
              New CultureInfo("sv-SE")) 
      Convert("12,425.00", NumberStyles.Float Or NumberStyles.AllowThousands, _
              NumberFormatInfo.InvariantInfo) 
      Convert("631,900", NumberStyles.Integer Or NumberStyles.AllowDecimalPoint, _ 
              New CultureInfo("fr-FR"))
      Convert("631,900", NumberStyles.Integer Or NumberStyles.AllowDecimalPoint, _
              New CultureInfo("en-US"))
      Convert("631,900", NumberStyles.Integer Or NumberStyles.AllowThousands, _
              New CultureInfo("en-US"))
   End Sub

   Private Sub Convert(value As String, style As NumberStyles, _
                       provider As IFormatProvider)
      Try
         Dim number As Integer = Int32.Parse(value, style, provider)
         Console.WriteLine("Converted '{0}' to {1}.", value, number)
      Catch e As FormatException
         Console.WriteLine("Unable to convert '{0}'.", value)
      Catch e As OverflowException
         Console.WriteLine("'{0}' is out of range of the Int32 type.", value)   
      End Try
   End Sub                       
End Module
' This example displays the following output to the console:
'       Converted '12,000' to 12000.
'       Converted '12,000' to 12.
'       Unable to convert '12,000'.
'       Converted '12 425,00' to 12425.
'       Converted '12,425.00' to 12425.
'       '631,900' is out of range of the Int32 type.
'       Unable to convert '631,900'.
'       Converted '631,900' to 631900.

Comentarios

El style parámetro define los elementos de estilo (como espacios en blanco o el signo positivo) 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 the positive 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_digist][e[sign]exponential_digits][ws][ws][$][sign][digits,]digits[.fractional_digist][e[sign]exponential_digits][ws]

O bien, si style incluye AllowHexSpecifier:Or, if style 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 y puede aparecer 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, and it can appear 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 NumberFormatInfo.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 NumberFormatInfo.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. El inicio de sesión puede aparecer al principio de s si style incluye la NumberStyles.AllowLeadingSign marca o al final de s si style incluye la NumberStyles.AllowTrailingSign marca.The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag or at the end of s if style includes the NumberStyles.AllowTrailingSign flag. Se pueden utilizar paréntesis en s para indicar un valor negativo si style incluye la NumberStyles.AllowParentheses marca.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
digitsdigits

fractional_digitsfractional_digits

exponential_digitsexponential_digits
Una secuencia de dígitos del 0 al 9.A sequence of digits from 0 through 9. Para dígitos fraccionarios, solo es válido el dígito 0.For fractional_digits, only the digit 0 is valid.
,, Específicas de referencias culturales miles símbolo de separador.A culture-specific thousands separator symbol. 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.

El dígito 0 puede aparecer como un dígito fraccionario para la operación de análisis se realice correctamente; Si dígitos fraccionarios incluye cualquier otro dígito, una OverflowException se produce.Only the digit 0 can appear as a fractional digit for the parse operation to succeed; if fractional_digits includes any other digit, an OverflowException is thrown.
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 estilo) siempre se analiza correctamente si se encuentra en el intervalo de la Int32 tipo.A string with decimal digits only (which corresponds to the NumberStyles.None style) always parses successfully if it is in the range of the Int32 type. 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 ( .The decimal point ( . ) y dígitos fraccionarios elementos.) and fractional-digits elements. Sin embargo, dígitos fraccionarios debe constar de uno o más dígitos de 0 o un OverflowException se produce.However, fractional-digits must consist of only one or more 0 digits or an OverflowException is thrown.
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 positivo antes dígitos.A positive sign can appear before digits.
NumberStyles.AllowTrailingSign Puede aparecer un signo positivo después dígitos.A positive 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.

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 de número compuesto, NumberStyles.HexNumber, que incluye ambos marcadores de espacio en blanco.)(The NumberStyles enumeration has a composite number style, NumberStyles.HexNumber, that includes both white space flags.)

El provider parámetro es un IFormatProvider implementación, como un NumberFormatInfo o CultureInfo objeto.The provider parameter is an IFormatProvider implementation, such as a NumberFormatInfo or CultureInfo object. El provider parámetro proporciona información específica de la referencia cultural usada en el análisis.The provider parameter supplies culture-specific information used in parsing. 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:

Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider) Parse(ReadOnlySpan<Char>, NumberStyles, IFormatProvider)

public static int Parse (ReadOnlySpan<char> s, System.Globalization.NumberStyles style = System.Globalization.NumberStyles.Integer, IFormatProvider provider = null);
static member Parse : ReadOnlySpan<char> * System.Globalization.NumberStyles * IFormatProvider -> int
Public Shared Function Parse (s As ReadOnlySpan(Of Char), Optional style As NumberStyles = System.Globalization.NumberStyles.Integer, Optional provider As IFormatProvider = null) As Integer

Parámetros

Devoluciones

Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles) Parse(String, NumberStyles)

Convierte la representación en forma de cadena de un número con el estilo especificado en el entero de 32 bits con signo equivalente.Converts the string representation of a number in a specified style to its 32-bit signed integer equivalent.

public:
 static int Parse(System::String ^ s, System::Globalization::NumberStyles style);
public static int Parse (string s, System.Globalization.NumberStyles style);
static member Parse : string * System.Globalization.NumberStyles -> int
Public Shared Function Parse (s As String, style As NumberStyles) As Integer

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.

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 the 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.

Devoluciones

Entero con signo de 32 bits equivalente al número especificado en s.A 32-bit signed integer equivalent to the number specified in s.

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.

s no está en un formato compatible con style.s is not in a format compliant with style.

s representa un número menor que MinValue o mayor que MaxValue.s represents a number less than MinValue or greater than MaxValue.

O bien-or- s incluye dígitos fraccionarios distintos de cero.s includes non-zero, fractional digits.

Ejemplos

En el ejemplo siguiente se usa el Int32.Parse(String, NumberStyles) método para analizar las representaciones de cadena de varias Int32 valores.The following example uses the Int32.Parse(String, NumberStyles) method to parse the string representations of several Int32 values. La referencia cultural actual para el ejemplo es en-US.The current culture for the example is en-US.

using namespace System;
using namespace System::Globalization;

public ref class ParseInt32
{
public:
   static void Main()
   {
      Convert("104.0", NumberStyles::AllowDecimalPoint);
      Convert("104.9", NumberStyles::AllowDecimalPoint);
      Convert(" $17,198,064.42", NumberStyles::AllowCurrencySymbol |
                                 NumberStyles::Number);
      Convert("103E06", NumberStyles::AllowExponent);
      Convert("-1,345,791", NumberStyles::AllowThousands);
      Convert("(1,345,791)", NumberStyles::AllowThousands |
                             NumberStyles::AllowParentheses);
   }

private:
   static void Convert(String^ value, NumberStyles style)
   {
      try
      {
         int number = Int32::Parse(value, style);
         Console::WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException^)
      {
         Console::WriteLine("Unable to convert '{0}'.", value);
      }
      catch (OverflowException^)
      {
         Console::WriteLine("'{0}' is out of range of the Int32 type.", value);
      }
   }
};

int main()
{
    ParseInt32::Main();
}
// The example displays the following output to the console:
//       Converted '104.0' to 104.
//       '104.9' is out of range of the Int32 type.
//       ' $17,198,064.42' is out of range of the Int32 type.
//       Converted '103E06' to 103000000.
//       Unable to convert '-1,345,791'.
//       Converted '(1,345,791)' to -1345791.
using System;
using System.Globalization;

public class ParseInt32
{
   public static void Main()
   {
      Convert("104.0", NumberStyles.AllowDecimalPoint);
      Convert("104.9", NumberStyles.AllowDecimalPoint);
      Convert(" $17,198,064.42", NumberStyles.AllowCurrencySymbol |
                                 NumberStyles.Number);
      Convert("103E06", NumberStyles.AllowExponent);
      Convert("-1,345,791", NumberStyles.AllowThousands);
      Convert("(1,345,791)", NumberStyles.AllowThousands |
                             NumberStyles.AllowParentheses);
   }

   private static void Convert(string value, NumberStyles style)
   {
      try
      {
         int number = Int32.Parse(value, style);
         Console.WriteLine("Converted '{0}' to {1}.", value, number);
      }
      catch (FormatException)
      {
         Console.WriteLine("Unable to convert '{0}'.", value);
      }
      catch (OverflowException)
      {
         Console.WriteLine("'{0}' is out of range of the Int32 type.", value);   
      }
   }
}
// The example displays the following output to the console:
//       Converted '104.0' to 104.
//       '104.9' is out of range of the Int32 type.
//       ' $17,198,064.42' is out of range of the Int32 type.
//       Converted '103E06' to 103000000.
//       Unable to convert '-1,345,791'.
//       Converted '(1,345,791)' to -1345791.
Imports System.Globalization

Module ParseInt32
   Public Sub Main()
      Convert("104.0", NumberStyles.AllowDecimalPoint)    
      Convert("104.9", NumberStyles.AllowDecimalPoint)
      Convert(" $17,198,064.42", NumberStyles.AllowCurrencySymbol Or _
                                 NumberStyles.Number)
      Convert("103E06", NumberStyles.AllowExponent)  
      Convert("-1,345,791", NumberStyles.AllowThousands)
      Convert("(1,345,791)", NumberStyles.AllowThousands Or _
                             NumberStyles.AllowParentheses)
   End Sub
   
   Private Sub Convert(value As String, style As NumberStyles)
      Try
         Dim number As Integer = Int32.Parse(value, style)
         Console.WriteLine("Converted '{0}' to {1}.", value, number)
      Catch e As FormatException
         Console.WriteLine("Unable to convert '{0}'.", value)
      Catch e As OverflowException
         Console.WriteLine("'{0}' is out of range of the Int32 type.", value)   
      End Try
   End Sub
End Module
' The example displays the following output to the console:
'       Converted '104.0' to 104.
'       '104.9' is out of range of the Int32 type.
'       ' $17,198,064.42' is out of range of the Int32 type.
'       Converted '103E06' to 103000000.
'       Unable to convert '-1,345,791'.
'       Converted '(1,345,791)' to -1345791.

Comentarios

El style parámetro define los elementos de estilo (como espacios en blanco, el símbolo de signo positivo o negativo o millares símbolo de separador) 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, the positive or negative sign symbol, or the thousands separator symbol) 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]exponential_digits][ws][ws][$][sign][digits,]digits[.fractional_digits][e[sign]exponential_digits][ws]

O bien, si style incluye AllowHexSpecifier:Or, if style 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 y puede aparecer 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, and it can appear 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 NumberFormatInfo.CurrencyNegativePattern y NumberFormatInfo.CurrencyPositivePattern propiedades de la referencia cultural actual.Its position in the string is defined by the NumberFormatInfo.CurrencyNegativePattern and NumberFormatInfo.CurrencyPositivePattern properties of the current culture. Símbolo de divisa de la referencia cultural actual puede aparecer en s si style incluye la NumberStyles.AllowCurrencySymbol marca.The current culture's currency symbol can appear in s if style includes the NumberStyles.AllowCurrencySymbol flag.
signsign Un signo opcional.An optional sign. El inicio de sesión puede aparecer al principio de s si style incluye la NumberStyles.AllowLeadingSign marca y puede aparecer al final de s si style incluye la NumberStyles.AllowTrailingSign marca.The sign can appear at the beginning of s if style includes the NumberStyles.AllowLeadingSign flag, and it can appear at the end of s if style includes the NumberStyles.AllowTrailingSign flag. Se pueden utilizar paréntesis en s para indicar un valor negativo si style incluye la NumberStyles.AllowParentheses marca.Parentheses can be used in s to indicate a negative value if style includes the NumberStyles.AllowParentheses flag.
digitsdigits

fractional_digitsfractional_digits

exponential_digitsexponential_digits
Una secuencia de dígitos del 0 al 9.A sequence of digits from 0 through 9. Para dígitos fraccionarios, solo es válido el dígito 0.For fractional_digits, only the digit 0 is valid.
,, Específicas de referencias culturales miles símbolo de separador.A culture-specific thousands separator symbol. Miles de la referencia cultural actual separador puede aparecer en s si style incluye la NumberStyles.AllowThousands marca.The current culture's thousands separator 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. Símbolo de separador decimal de la referencia cultural actual puede aparecer en s si style incluye la NumberStyles.AllowDecimalPoint marca.The current culture's decimal point symbol can appear in s if style includes the NumberStyles.AllowDecimalPoint flag. El dígito 0 puede aparecer como un dígito fraccionario para la operación de análisis se realice correctamente; Si dígitos fraccionarios incluye cualquier otro dígito, una OverflowException se produce.Only the digit 0 can appear as a fractional digit for the parse operation to succeed; if fractional_digits includes any other digit, an OverflowException is thrown.
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 formada únicamente por dígitos (que corresponde a la NumberStyles.None estilo) siempre se analiza correctamente.A string with digits only (which corresponds to the NumberStyles.None style) always parses successfully. La mayoría de los restantes NumberStyles miembros controlan los elementos que pueden ser, pero no tienen que estar presentes en la cadena de entrada.Most of the remaining NumberStyles members control elements that may be but are not required to be present in the 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.

Valor NumberStylesNumberStyles value Elementos permitidos en s además de dígitosElements permitted in s in addition to digits
None El dígitos sólo elemento.The digits element only.
AllowDecimalPoint El separador decimal ( .The decimal point ( . ) y dígitos fraccionarios elementos.) and fractional-digits elements.
AllowExponent El s parámetro también puede utilizar la notación exponencial.The s parameter can also use exponential notation.
AllowLeadingWhite El ws elemento situado al principio de s.The ws element at the beginning of s.
AllowTrailingWhite El ws elemento al final de s.The ws element at the end of s.
AllowLeadingSign El sesión elemento situado al principio de s.The sign element at the beginning of s.
AllowTrailingSign El sesión elemento al final de s.The sign element at the end of s.
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.
AllowThousands Miles separador ( , ) elemento.The thousands separator ( , ) element.
AllowCurrencySymbol El $ elemento.The $ element.
Currency Todos.All. 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.
Float El ws elemento al principio o al final de s, sesión al principio de sy el separador decimal ( .The ws element at the beginning or end of s, sign at the beginning of s, and the decimal point ( . ) símbolos.) symbol. El s parámetro también puede utilizar la notación exponencial.The s parameter can also use exponential notation.
Number El ws, sign, miles separador ( , ) y el separador decimal ( .The ws, sign, thousands separator ( , ), and decimal point ( . ) elementos.) elements.
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 se pueden combinar con el s parámetro fuese NumberStyles.AllowLeadingWhite y NumberStyles.AllowTrailingWhite.The only other flags that can be combined with the s parameter it are NumberStyles.AllowLeadingWhite and NumberStyles.AllowTrailingWhite. (El NumberStyles enumeración incluye un estilo de número compuesto NumberStyles.HexNumber, que incluye ambos marcadores de espacio en blanco.)(The NumberStyles enumeration includes a composite number style, NumberStyles.HexNumber, that includes both white space flags.)

El s parámetro se analiza utilizando la información de formato en un NumberFormatInfo objeto que se inicializa para la referencia cultural actual del sistema.The s parameter is parsed using the formatting information in a NumberFormatInfo object that is initialized for the current system culture. Para especificar la referencia cultural cuya información de formato se usa para la operación de análisis, llame a la Int32.Parse(String, NumberStyles, IFormatProvider) de sobrecarga.To specify the culture whose formatting information is used for the parse operation, call the Int32.Parse(String, NumberStyles, IFormatProvider) overload.

Consulte también:

Parse(String) Parse(String) Parse(String) Parse(String)

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.

public:
 static int Parse(System::String ^ s);
public static int Parse (string s);
static member Parse : string -> int
Public Shared Function Parse (s As String) As Integer

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.

Devoluciones

Entero con signo de 32 bits equivalente al número incluido en s.A 32-bit signed integer equivalent to the number contained in s.

Excepciones

s no tiene el formato correcto.s is not in the correct format.

s representa un número menor que MinValue o mayor que MaxValue.s represents a number less than MinValue or greater than MaxValue.

Ejemplos

En el ejemplo siguiente se muestra cómo convertir un valor de cadena en un valor entero con signo de 32 bits mediante el Int32.Parse(String) método.The following example demonstrates how to convert a string value into a 32-bit signed integer value using the Int32.Parse(String) method. El valor entero resultante se muestra a continuación, en la consola.The resulting integer value is then displayed to the console.

using namespace System;

void main()
{
   array<String^>^ values = { "+13230", "-0", "1,390,146", "$190,235,421,127",
                              "0xFA1B", "163042", "-10", "007", "2147483647", 
                              "2147483648", "16e07", "134985.0", "-12034",
                              "-2147483648", "-2147483649" };
   for each (String^ value in values)
   {
      try {
         Int32 number = Int32::Parse(value); 
         Console::WriteLine("{0} --> {1}", value, number);
      }
      catch (FormatException^ e) {
         Console::WriteLine("{0}: Bad Format", value);
      }   
      catch (OverflowException^ e) {
         Console::WriteLine("{0}: Overflow", value);   
      }  
   }
}
// The example displays the following output:
//       +13230 --> 13230
//       -0 --> 0
//       1,390,146: Bad Format
//       $190,235,421,127: Bad Format
//       0xFA1B: Bad Format
//       163042 --> 163042
//       -10 --> -10
//       007 --> 7
//       2147483647 --> 2147483647
//       2147483648: Overflow
//       16e07: Bad Format
//       134985.0: Bad Format
//       -12034 --> -12034
//       -2147483648 --> -2147483648
//       -2147483649: Overflow      
using System;

public class Example
{
   public static void Main()
   {
      string[] values = { "+13230", "-0", "1,390,146", "$190,235,421,127",
                          "0xFA1B", "163042", "-10", "007", "2147483647", 
                          "2147483648", "16e07", "134985.0", "-12034",
                          "-2147483648", "-2147483649" };
      foreach (string value in values)
      {
         try {
            int number = Int32.Parse(value); 
            Console.WriteLine("{0} --> {1}", value, number);
         }
         catch (FormatException) {
            Console.WriteLine("{0}: Bad Format", value);
         }   
         catch (OverflowException) {
            Console.WriteLine("{0}: Overflow", value);   
         }  
      }
   }
}
// The example displays the following output:
//       +13230 --> 13230
//       -0 --> 0
//       1,390,146: Bad Format
//       $190,235,421,127: Bad Format
//       0xFA1B: Bad Format
//       163042 --> 163042
//       -10 --> -10
//       007 --> 7
//       2147483647 --> 2147483647
//       2147483648: Overflow
//       16e07: Bad Format
//       134985.0: Bad Format
//       -12034 --> -12034
//       -2147483648 --> -2147483648
//       -2147483649: Overflow      
Module Example
   Public Sub Main()
      Dim values() As String = { "+13230", "-0", "1,390,146", "$190,235,421,127",
                                 "0xFA1B", "163042", "-10", "007", "2147483647", 
                                 "2147483648", "16e07", "134985.0", "-12034",
                                 "-2147483648", "-2147483649"  }
      For Each value As String In values
         Try
            Dim number As Integer = Int32.Parse(value) 
            Console.WriteLine("{0} --> {1}", value, number)
         Catch e As FormatException
            Console.WriteLine("{0}: Bad Format", value)
         Catch e As OverflowException
            Console.WriteLine("{0}: Overflow", value)   
         End Try  
      Next
   End Sub
End Module
' The example displays the following output:
'       +13230 --> 13230
'       -0 --> 0
'       1,390,146: Bad Format
'       $190,235,421,127: Bad Format
'       0xFA1B: Bad Format
'       163042 --> 163042
'       -10 --> -10
'       007 --> 7
'       2147483647 --> 2147483647
'       2147483648: Overflow
'       16e07: Bad Format
'       134985.0: Bad Format
'       -12034 --> -12034
'       -2147483648 --> -2147483648
'       -2147483649: Overflow

Comentarios

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.
dígitosdigits 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 decimal digits, only leading and trailing spaces together with a leading sign are allowed. Para definir explícitamente los elementos de estilo que pueden estar presentes en s, use el Int32.Parse(String, NumberStyles) o Int32.Parse(String, NumberStyles, IFormatProvider) método.To explicitly define the style elements that can be present in s, use either the Int32.Parse(String, NumberStyles) or the Int32.Parse(String, NumberStyles, IFormatProvider) 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. Para analizar una cadena usando la información de formato de alguna otra referencia cultural, use el Int32.Parse(String, NumberStyles, IFormatProvider) método.To parse a string using the formatting information of some other culture, use the Int32.Parse(String, NumberStyles, IFormatProvider) method.

Consulte también:

Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider) Parse(String, IFormatProvider)

Convierte la representación en forma de cadena de un número en el formato específico de la referencia cultural que se haya especificado en el entero de 32 bits con signo equivalente.Converts the string representation of a number in a specified culture-specific format to its 32-bit signed integer equivalent.

public:
 static int Parse(System::String ^ s, IFormatProvider ^ provider);
public static int Parse (string s, IFormatProvider provider);
static member Parse : string * IFormatProvider -> int
Public Shared Function Parse (s As String, provider As IFormatProvider) As Integer

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.

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.

Devoluciones

Entero con signo de 32 bits equivalente al número especificado en s.A 32-bit signed integer equivalent to the number specified in s.

Excepciones

s no tiene el formato correcto.s is not of the correct format.

s representa un número menor que MinValue o mayor que MaxValue.s represents a number less than MinValue or greater than MaxValue.

Ejemplos

El ejemplo siguiente es el botón, haga clic en el controlador de eventos de un formulario Web.The following example is the button click event handler of a Web form. Utiliza la matriz devuelta por la HttpRequest.UserLanguages propiedad para determinar la configuración regional del usuario.It uses the array returned by the HttpRequest.UserLanguages property to determine the user's locale. A continuación, crea una instancia de un CultureInfo objeto que corresponde a esa configuración regional.It then instantiates a CultureInfo object that corresponds to that locale. El NumberFormatInfo objeto al que pertenece a la que CultureInfo objeto, a continuación, se pasa a la Parse(String, IFormatProvider) entrada del método para convertir el usuario una Int32 valor.The NumberFormatInfo object that belongs to that CultureInfo object is then passed to the Parse(String, IFormatProvider) method to convert the user's input to an Int32 value.

protected void OkToInteger_Click(object sender, EventArgs e)
{
   string locale;
   int number;
   CultureInfo culture;

   // Return if string is empty
   if (String.IsNullOrEmpty(this.inputNumber.Text))
      return;

   // Get locale of web request to determine possible format of number
   if (Request.UserLanguages.Length == 0)
      return;
   locale = Request.UserLanguages[0];
   if (String.IsNullOrEmpty(locale))
      return;

  // Instantiate CultureInfo object for the user's locale
   culture = new CultureInfo(locale);

   // Convert user input from a string to a number
   try
   {
      number = Int32.Parse(this.inputNumber.Text, culture.NumberFormat);
   }
   catch (FormatException)
   {
      return;
   }
   catch (Exception)
   {
      return;
   }
   // Output number to label on web form
   this.outputNumber.Text = "Number is " + number.ToString();
}
Protected Sub OkToInteger_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles OkToInteger.Click
   Dim locale As String
   Dim culture As CultureInfo
   Dim number As Integer

   ' Return if string is empty
   If String.IsNullOrEmpty(Me.inputNumber.Text) Then Exit Sub

   ' Get locale of web request to determine possible format of number
   If Request.UserLanguages.Length = 0 Then Exit Sub
   locale = Request.UserLanguages(0)
   If String.IsNullOrEmpty(locale) Then Exit Sub

   ' Instantiate CultureInfo object for the user's locale
   culture = New CultureInfo(locale)

   ' Convert user input from a string to a number
   Try
      number = Int32.Parse(Me.inputNumber.Text, culture.NumberFormat)
   Catch ex As FormatException
      Exit Sub
   Catch ex As Exception
      Exit Sub
   End Try

   ' Output number to label on web form
   Me.outputNumber.Text = "Number is " & number.ToString()
End Sub

Comentarios

Esta sobrecarga de la Parse(String, IFormatProvider) método normalmente se usa para convertir el texto que se puede aplicar formato en una variedad de formas a un Int32 valor.This overload of the Parse(String, IFormatProvider) method is typically used to convert text that can be formatted in a variety of ways to an Int32 value. Por ejemplo, puede usarse para convertir el texto escrito por un usuario en un cuadro de texto HTML en un valor numérico.For example, it can be used to convert the text entered by a user into an HTML text box to a numeric value.

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 decimal digits, only leading and trailing spaces together with a leading sign are allowed. Para definir explícitamente los elementos de estilo que pueden estar presentes en s, utilice el Int32.Parse(String, NumberStyles, IFormatProvider) método.To explicitly define the style elements that can be present in s, use the Int32.Parse(String, NumberStyles, IFormatProvider) method.

El provider parámetro es un IFormatProvider implementación, como un NumberFormatInfo o CultureInfo objeto.The provider parameter is an IFormatProvider implementation, such as a NumberFormatInfo or CultureInfo object. El provider parámetro proporciona información específica de la referencia cultural sobre el formato de s.The provider parameter supplies 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:

Se aplica a