Cómo comprobar si una cadena es numérica en Java

¿Cómo se comprueba si una cadena es un número antes de analizarla?

Puede utilizar NumberFormat#parse:

try
{
     NumberFormat.getInstance().parse(value);
}
catch(ParseException e)
{
    // Not a number.
}
Comentarios (5)

Parsearlo (es decir, con Integer#parseInt ) y simplemente atrapar la excepción. =)

Para aclarar: La función parseInt comprueba si puede parsear el número en cualquier caso (obviamente) y si quieres parsearlo de todos modos, no vas a tener ningún golpe de rendimiento por hacer el parseo.

Si no quiere analizarlo (o lo hace muy, muy raramente) puede que quiera hacerlo de otra manera, por supuesto.

Comentarios (3)

Creo que la única manera de saber con seguridad si una cadena es un número, es parsearla. Así que simplemente lo analizaría, y si es un número, ¡obtendrás el número en un int gratis!

Comentarios (0)