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.TryParse (String, Int32)

 

Publicado: octubre de 2016

Convierte la representación en forma de cadena de un número en el entero de 32 bits con signo equivalente. Un valor devuelto indica si la conversión tuvo éxito.

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

public static bool TryParse(
	string s,
	out int result
)

Parámetros

s
Type: System.String

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

result
Type: System.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. La conversión no se realiza correctamente si el parámetro s es null o String.Empty no tiene el formato correcto o representa un número menor que MinValue o mayor que MaxValue. Este parámetro se pasa sin inicializar; cualquier valor proporcionado originalmente en result se sobrescribirá.

Valor devuelto

Type: System.Boolean

true si s se convirtió correctamente; en caso contrario, false.

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. Elimina la necesidad de utilizar el control de excepciones para probar una FormatException en caso de que s no es válido y no se puede analizar correctamente.

El s parámetro contiene un número del formulario:

[ws] [signo] dígitos [ws]

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

Elemento

Descripción

eb

Espacio en blanco opcional.

signo

Un signo opcional.

dígitos

Una secuencia de dígitos que comprende del 0 al 9.

El s parámetro se interpreta usando el NumberStyles.Integer estilo. Además de los dígitos decimales, se permiten solo espacios iniciales y finales junto con un signo inicial. 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, use el Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) método.

El s parámetro se analiza utilizando la información de formato en un NumberFormatInfo objeto inicializado para la referencia cultural del sistema actual. Para obtener más información, consulta CurrentInfo.

Esta sobrecarga de la TryParse método interpreta todos los dígitos en el s parámetro como dígitos decimales. Para analizar la representación de cadena de un número hexadecimal, llame a la Int32.TryParse(String, NumberStyles, IFormatProvider, Int32) de sobrecarga.

El ejemplo siguiente se llama el Int32.TryParse(String, Int32) método con un número de valores de cadena diferentes.

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 result = Int32.TryParse(value, out number);
         if (result)
         {
            Console.WriteLine("Converted '{0}' to {1}.", value, number);         
         }
         else
         {
//            if (value == null) value = ""; 
            Console.WriteLine("Attempted conversion of '{0}' failed.", 
                               value == null ? "<null>" : value);
         }
      }
   }
}
// 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.

Algunas de las cadenas que el TryParse(String, Int32) método es no se puede convertir en este ejemplo son:

  • "9432.0". La conversión se produce un error porque la cadena no puede contener un separador decimal; debe contener solamente los dígitos integrales.

  • "16,667". La conversión se produce un error porque la cadena no puede contener separadores de grupos; debe contener solamente los dígitos integrales.

  • "(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.

  • "01FA". La conversión se produce un error porque la cadena no puede contener dígitos hexadecimales; debe contener sólo dígitos decimales.

Plataforma universal de Windows
Disponible desde 8
.NET Framework
Disponible desde 2.0
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: