Tester si une chaine est numérique

ntsc28 -  
 neils76 -
Comment on peut tester si une chaine de caractères est représente une valeur numérique?
La méthode Integer.ParseInt(String) retourne une exception si String contient autres caractères que les chiffres.
A voir également:

4 réponses

neils76
 
Arghtt !!!!!!!!
Même si le message est ancien, la réponse me fait mal au cuir ...

Les exceptions ne doivent servir :
1 - en alpha/beta mode :
A tout ce que l'on veut
2 - en mode test
A la gestion d'improbabilité (Malfonctionnement du logiciel)
3 - en mode réel
A l'interception de dysfonctionnements ayant quelque(s) interaction(s) avec le système

En aucun cas on ne doit utiliser les exceptions comme une bouée de secours !
Il faut juste tester le code de retour d'une fonction avant de poursuivre et cesser d'utilise le "throw" à mauvais escient !!!!!

Les exceptions ne doivent servir que dans des cas extrèmes !!!!!!!!

Les utiliser systématiquement dénote une mauvaise programmation !!!!!!!!!!!!!

unsigned short i = 1, j = 0;
i /= j;
On pose une gestion d'exception ou l'on teste la nullité du diviseur avant de se planter ????
unsigned short i = 1, j = 0;
i = j ? i/j : 0;

La réflexion avant l'action !!!!!!
1
Nico
 
Yop,

pour tester si c'est une valeur numérique, il faut tester l'exception NumberFormatException

++

Nico
0
ntsc28
 
Ok merci!
0
sebsauvage Messages postés 33415 Statut Modérateur 15 667
 
Ben tu fais un simple try/catch, c'est fait pour... non ?
-1
mkrzemin Messages postés 42 Statut Membre 1
 
euh... C'est quoi un try/catch ?

Merci par avance,
Mickaël
0
Nico > mkrzemin Messages postés 42 Statut Membre
 
try {
//code
} catch(NumberFormatException){
//erreur
}

cela te permet de lever une erreur avant qu'elle ne plante le programme. En fait c'est toi qui gère l'erreur plutot que le programme.

++

Nico
0