Este artículo se tradujo automáticamente. Para ver el artículo en inglés, active la casilla Inglés. Además, puede mostrar el texto en inglés en una ventana emergente si mueve el puntero del mouse sobre el texto.
Traducción
Inglés

Método Int32.Parse (String, NumberStyles)

 

Publicado: octubre de 2016

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.

Espacio de nombres:   System
Ensamblado:  mscorlib (en mscorlib.dll)

public static int Parse(
	string s,
	NumberStyles style
)

Parámetros

s
Type: System.String

Cadena que contiene un número que se va a convertir.

style
Type: System.Globalization.NumberStyles

Combinación bit a bit de los valores de enumeración que indica los elementos de estilo que pueden estar presentes en s. Un valor que se especifica de forma habitual es Integer.

Valor devuelto

Type: System.Int32

Entero con signo de 32 bits equivalente al número especificado en s.

Exception Condition
ArgumentNullException

El valor de s es null.

ArgumentException

style no es un valor NumberStyles.

-o-

style no es una combinación de valores AllowHexSpecifier y HexNumber.

FormatException

s no está en un formato compatible con style.

OverflowException

s representa un número menor que MinValue o mayor que MaxValue.

-o-

s incluye dígitos fraccionarios distintos de cero.

El style parámetro define los elementos de estilo (como espacios en blanco, el símbolo de signo positivo o negativo o miles símbolo de separador) que se permiten en el s parámetro para la operación de análisis se realice correctamente. Debe ser una combinación de indicadores de bits de la NumberStyles (enumeración). Dependiendo del valor de style, el s parámetro puede incluir los siguientes elementos:

[eb] [$] [signo] [dígitos,] dígitos [fraccionarios] [e [signo] dígitos exponenciales] [eb]

O bien, si style incluye AllowHexSpecifier:

[eb] dígitos hexadecimales [eb]

Elementos entre corchetes ([y]) son opcionales. En la tabla siguiente describe cada elemento.

Elemento

Descripción

eb

Espacio en blanco opcional. Espacio en blanco puede aparecer 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.

$

Un símbolo de moneda específico de la referencia cultural. Su posición en la cadena viene definida por el NumberFormatInfo.CurrencyNegativePattern y NumberFormatInfo.CurrencyPositivePattern Propiedades de la referencia cultural actual. Símbolo de divisa de la referencia cultural actual puede aparecer en s Si style incluye la NumberStyles.AllowCurrencySymbol marca.

signo

Un signo opcional. El signo 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. Se pueden utilizar paréntesis en s para indicar un valor negativo si style incluye la NumberStyles.AllowParentheses marca.

digits

dígitos fraccionarios

dígitos exponenciales

Una secuencia de dígitos del 0 al 9. Para dígitos fraccionarios, sólo es válido el dígito 0.

,

Miles de la referencia cultural específica símbolo de separador. Miles de la referencia cultural actual puede aparecer separador en s Si style incluye la NumberStyles.AllowThousands marca.

.

Separador decimal de la referencia cultural específica. Símbolo de separador decimal de la referencia cultural actual puede aparecer en s Si style incluye la NumberStyles.AllowDecimalPoint marca. Puede aparecer el dígito 0 como un dígito fraccionario para que la operación de análisis se realiza correctamente; Si dígitos fraccionarios incluye cualquier otro dígito, un OverflowException se produce.

e

El 'e' o el carácter 'E', lo que indica que el valor se representa en notación exponencial. El s parámetro puede representar un número en notación exponencial si style incluye la NumberStyles.AllowExponent marca.

dígitos hexadecimales

Una secuencia de dígitos hexadecimales de 0 a f o de 0 a f el.

Una cadena formada únicamente por dígitos (que corresponde a la NumberStyles.None estilo) siempre se analiza correctamente. La mayoría de los restantes NumberStyles miembros controlan los elementos que pueden estar, aunque no tienen que estar presentes en la cadena de entrada. La tabla siguiente indica cómo individuales NumberStyles miembros afectan a los elementos que pueden estar presentes en s.

Valor NumberStyles

Elementos permitidos en s además de dígitos

None

El dígitos sólo el elemento.

AllowDecimalPoint

El separador decimal ( . ) y dígitos fraccionarios elementos.

AllowExponent

El s parámetro también puede utilizar la notación exponencial.

AllowLeadingWhite

El ws elemento situado al principio de s.

AllowTrailingWhite

El ws elemento al final de s.

AllowLeadingSign

El Inicio de sesión elemento situado al principio de s.

AllowTrailingSign

El Inicio de sesión elemento al final de s.

AllowParentheses

El Inicio de sesión elemento en forma de paréntesis delimitando el valor numérico.

AllowThousands

Miles separador ( , ) elemento.

AllowCurrencySymbol

El $ elemento.

Currency

Todos. El s parámetro no puede representar un número hexadecimal o un número en notación exponencial.

Float

El ws elemento al principio o al final de s, Inicio de sesión al principio de s, y el separador decimal ( . ) símbolo. El s parámetro también puede utilizar la notación exponencial.

Number

El ws, sign, miles separador ( , ) y el separador decimal ( . ) elementos.

Any

Todos los estilos, excepto s no puede representar un número hexadecimal.

Si el NumberStyles.AllowHexSpecifier se utiliza la marca, s debe ser un valor hexadecimal sin prefijo. Por ejemplo, "C9AF3" se analiza correctamente, pero no "0xC9AF3". Los únicos otros marcadores que pueden combinarse con la s parámetros son NumberStyles.AllowLeadingWhite y NumberStyles.AllowTrailingWhite. (El NumberStyles enumeración incluye un estilo de número compuesto, NumberStyles.HexNumber, que incluye ambos marcadores de espacio en blanco.)

El s parámetro se analiza utilizando la información de formato en una NumberFormatInfo objeto inicializado para la referencia cultural del sistema actual. Para especificar la referencia cultural cuya información de formato se utiliza para la operación de análisis, llame a la Int32.Parse(String, NumberStyles, IFormatProvider) de sobrecarga.

En el ejemplo siguiente se usa el Int32.Parse(String, NumberStyles) método para analizar las representaciones de cadena de varios Int32 valores. La referencia cultural actual del ejemplo es en-US.

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.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 1.1
Biblioteca de clases portable
Se admite en: plataformas portátiles de .NET
Silverlight
Disponible desde 2.0
Windows Phone Silverlight
Disponible desde 7.0
Windows Phone
Disponible desde 8.1
Volver al principio
Mostrar: