Exportar (0) Imprimir
Expandir todo
Este artículo proviene de un motor de traducción automática. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original
Este tema aún no ha recibido ninguna valoración - Valorar este tema

Int32.Parse (Método) (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.

Espacio de nombres:  System
Ensamblado:  mscorlib (en mscorlib.dll)
public static int Parse(
	string s,
	NumberStyles style
)

Parámetros

s
Tipo: System.String
Cadena que contiene un número que se va a convertir.
style
Tipo: 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

Tipo: System.Int32
Entero con signo de 32 bits equivalente al número especificado en s.
ExcepciónCondición
ArgumentNullException

s es null.

ArgumentException

style no es un valor de NumberStyles.

O bien

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

FormatException

s no tiene un formato conforme a style.

OverflowException

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

O bien

s incluye dígitos fraccionarios distintos de cero.

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

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

O bien, si style incluye AllowHexSpecifier:

[eb]dígitos hexadecimales[eb]

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

Elemento

Descripción

eb

Espacio en blanco opcional. El espacio en blanco puede aparecer al principio de s si style incluye la marca NumberStyles.AllowLeadingWhite, y puede aparecer al final de s si style incluye la marca NumberStyles.AllowTrailingWhite.

$

Símbolo de divisa específico de la referencia cultural. Su posición en la cadena viene definida por las propiedades NumberFormatInfo.CurrencyNegativePattern y NumberFormatInfo.CurrencyPositivePattern de la referencia cultural actual. El símbolo de divisa de la referencia cultural actual puede aparecer en s si style incluye la marca NumberStyles.AllowCurrencySymbol.

sign

Signo opcional. El signo puede aparecer al principio de s si style incluye la marca NumberStyles.AllowLeadingSign, y puede aparecer al final de s si style incluye la marca NumberStyles.AllowTrailingSign. Pueden usarse paréntesis en s para indicar un valor negativo si style incluye la marca NumberStyles.AllowParentheses.

dígitos

dígitos fraccionarios

dígitos exponenciales

Secuencia de dígitos de 0 a 9. Solo para fractional_digits, el dígito 0 es válido.

,

Símbolo separador de miles específico de la referencia cultural. El separador de miles de la referencia cultural actual puede aparecer en s si style incluye la marca NumberStyles.AllowThousands.

.

Símbolo separador de decimales específico de la referencia cultural. El símbolo separador de decimales de la referencia cultural actual puede aparecer en s si style incluye la marca NumberStyles.AllowDecimalPoint. Solamente puede aparecer el dígito 0 como dígito fraccionario para que la operación de análisis se realice correctamente; si dígitos fraccionarios incluye cualquier otro dígito, se produce una excepción OverflowException.

e

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

dígitos hexadecimales

Secuencia de dígitos hexadecimales de 0 a f o de 0 a F.

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

Valor de NumberStyles

Elementos permitidos en s además de dígitos

None

Sólo el elemento dígitos.

AllowDecimalPoint

Elementos de separador decimal (, ) y dígitos fraccionarios.

AllowExponent

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

AllowLeadingWhite

Elemento eb al principio de s.

AllowTrailingWhite

Elemento eb al final de s.

AllowLeadingSign

Elemento signo al principio de s.

AllowTrailingSign

Elemento signo al final de s.

AllowParentheses

Elemento signo en forma de paréntesis delimitando el valor numérico.

AllowThousands

Elemento de separador de miles (.).

AllowCurrencySymbol

Elemento $.

Currency

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

Float

Elemento eb al principio o al final de s, signo al principio de s y el símbolo del separador decimal (, ). El parámetro s también puede utilizar la notación exponencial.

Number

Elementos ws, sign, separador de miles (. ) y separador decimal (, ).

Any

Todos los estilos salvo s no pueden representar un número hexadecimal.

Si se utiliza la marca NumberStyles.AllowHexSpecifier, s debe ser un valor hexadecimal. Las únicas otras marcas que pueden combinarse con el parámetro s son NumberStyles.AllowLeadingWhite y NumberStyles.AllowTrailingWhite. (La enumeración NumberStyles incluye un estilo de número compuesto, NumberStyles.HexNumber, que incluye ambas marcas de espacio en blanco.)

El parámetro s se analiza usando la información de formato de un objeto NumberFormatInfo que se inicializa 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 sobrecarga del método Int32.Parse(String, NumberStyles, IFormatProvider).

En el siguiente ejemplo se usa el método Int32.Parse(String, NumberStyles) para analizar las representaciones de cadena de diversos valores Int32. 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.


.NET Framework

Compatible con: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Compatible con: 4, 3.5 SP1

Biblioteca de clases portable

Compatible con: Biblioteca de clases portable

.NET para aplicaciones de la Tienda Windows

Compatible con: Windows 8

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (no se admite el rol Server Core), Windows Server 2008 R2 (se admite el rol Server Core con SP1 o versiones posteriores; no se admite Itanium)

.NET Framework no admite todas las versiones de todas las plataformas. Para obtener una lista de las versiones compatibles, vea Requisitos de sistema de .NET Framework.
¿Te ha resultado útil?
(Caracteres restantes: 1500)
Gracias por sus comentarios

Adiciones de comunidad

AGREGAR
Mostrar:
© 2014 Microsoft. Reservados todos los derechos.