Comment vérifier si une chaîne est numérique en Java ?

Comment vérifier si une chaîne est un nombre avant de l'analyser ?

Vous pouvez utiliser NumberFormat#parse :

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

Analysez-le (c'est-à-dire avec Integer#parseInt ) et attraper simplement l'exception. =)

Pour clarifier : la fonction parseInt vérifie si elle peut analyser le nombre dans tous les cas (évidemment) et si vous voulez l'analyser de toute façon, vous n'allez pas perdre en performance en effectuant l'analyse.

Si vous ne souhaitez pas l'analyser (ou si vous ne le faites que très, très rarement), vous pouvez bien sûr procéder différemment.

Commentaires (3)

Je pense que la seule façon de dire de façon fiable si une chaîne est un nombre, c'est de la parser. Donc je l'analyserais simplement, et si c'est un nombre, vous obtenez le nombre dans un int gratuitement !

Commentaires (0)