Pregunta

¿Cómo puede verificar si una cadena es convertible en una int?

Digamos que tenemos datos como '' Casa '', '' 50 '', '' Perro '', '' 45,99 '', quiero saber si debería usar la cadena o usar el valor int analizado en su lugar.

En JavaScript teníamos esta parseInt () función. Si la cadena no se pudo analizar , volvería a aparecer NaN.

¿Fue útil?

Solución

Int32. TryParse (String, Int32) - http://msdn.microsoft.com/en-us/library/f02979c7.aspx

  bool result = Int32.TryParse(value, out number);
  if (result)
  {
     Console.WriteLine("Converted '{0}' to {1}.", value, number);         
  }

Otros consejos

¿No podría hacerlo un poco más elegante ejecutando el tryparse directamente en el if?

Me gusta así:

if (Int32.TryParse(value, out number))     
  Console.WriteLine("Converted '{0}' to {1}.", value, number);

Int. TryParse

encontró esto en uno de los resultados de búsqueda: ¿Cómo identifico si una cadena es un número?

Agregando esto porque las respuestas que vi antes no tenían uso:

int n;
bool isNumeric = int.TryParse("123", out n);

aquí " 123 " puede ser algo así como la cadena s = " 123 " que el OP está probando y el valor n tener un valor ( 123 ) después de la llamada si se considera que es numérico.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top