Tester si un string est un entier [Résolu/Fermé]

Signaler
Messages postés
67
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
26 avril 2007
-
 visior64 -
Bonjour,
je suis opposé à un petit problème en java: Je voudrais tester si une chaine de caractères est un entier. Il existe bien par exemple isNaN en javascript ou encore isdigitt en C, mais existe-t-il une fonction similaire en Java ?? J'ai beau chercher sur le forum ou encore sur la doc api mais je ne trouve pas...

7 réponses

Bonjour,

try {
int i = Integer.parseInt(machaine);
System.out.println("C'est un entier");
}
catch (Exception e) {
System.out.println("Je ne suis pas un entier, et alors ca te derange ?");
}
34
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Très radical comme méthode...
N'existe-t-il pas tout simplement une méthode qui renvoie un booleen, dans le genre :
int i = 0;

if( Integer.isInt(maVariable) ){

i = Integer.parseInt(maVariable);

}

else System.out.println("Je ne suis pas un entier, et alors ca te derange ?");
Bon et bien comme j'ai l'âme d'un Power Rangers, j'ai décidé de créer ma propre méthode qui teste si un string est un entier :

class Entier {
public static boolean isInt(String chaine){
boolean valeur = true;
char[] tab = chaine.toCharArray();

for(char carac : tab){
if(!Character.isDigit(carac) && valeur){ valeur = false; }
}

return valeur;
}
}

Testez :
String s1 = "1t2o1t2o"; // testez avec 1212 aussi pour voir la différence.
if(Entier.isInt(s1)) System.out.println("Je suis un entier");
else System.out.println("Je ne suis pas un entier");


Si vous trouvez mieux, n'hésitez pas à poster votre solution.

Et au cas où si un employé d'Oracle passe par ici, qu'il n'hésite pas à avoir une promotion avec cette nouvelle méthode révolutionnaire.
> Toto
Super méthode ! Marche nickel, merci beaucoup :)
> Toto
Merci ! Génial ! ça marche nickel !
private boolean testErreur (String la cc/*chaine de caractaire*/){
char [] s =cc.toCharArray();
boolean testerreurfrappe= true;

for (int i=0; i<s.length;i++){
if(!Character.isDigit(s[i]) )
{testerreurfrappe= false;}
}
return testerreurfrappe;
}
apres faut juste si testerreur == true alors on utilise persInt si nn on indique qu'il y'a une erreur de frappe :)
Messages postés
67
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
26 avril 2007
28
Merci bien, c'est exactement ce qu'il me fallait...
Messages postés
365
Date d'inscription
mercredi 9 novembre 2005
Statut
Membre
Dernière intervention
2 décembre 2006
6
bonsoir,
ben oui, isDigit pareil, as-tu la doc ?
A+
Messages postés
618
Date d'inscription
vendredi 26 juillet 2002
Statut
Membre
Dernière intervention
13 juillet 2013
970
Très smart la solution avec la Regex, je prends ;) (celle à la fin du post pointé par ce lien)
Thanx very much HackTrack
Messages postés
67
Date d'inscription
jeudi 17 février 2005
Statut
Membre
Dernière intervention
26 avril 2007
28
Merci de votre aide, c'est sympa.
jcodeunpeu(original comme login), j'ai essayé isDigit(string) ou encore isdigit, Isdigit,...mais il ne reconnait pas la fonction, c'est bizarre...

Et qu'est ce que tu voulais dire par ta question "as-tu la doc ?". Quand moi je parle de la doc api, je parle de ca :
http://java.sun.com/j2se/1.5.0/docs/api/
C'est une mine d'or cette adresse...
Messages postés
169
Date d'inscription
lundi 7 novembre 2005
Statut
Membre
Dernière intervention
25 juillet 2010
73
Bonjour,

Pour la methode isDigit de la classe Character, c'est ici:
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Character.html#isDigit(char)


Philippe.
Bonjour,

J'ai un probleme avec cette methode (isDigit). Elle ne veut pas marcher. A la compile un message d'erreur s'affiche:

cannot find symbol
symbol : method isDigit(java.lang.String)
location: class Client

test=isDigit(tmp);
^

j'ai bien mis "import java.lang.Character;" mais sa change rien.

J'ai tout essayé, pliz HELP!!!

merci d'avance.
Messages postés
5
Date d'inscription
vendredi 8 février 2008
Statut
Membre
Dernière intervention
16 novembre 2008

bonjour

essai ça:


test=java.lang.Character.isDigit(tmp);

a+