Téléchargement
illégal
Posez votre question Signaler

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

carkiasis 67Messages postés 17 février 2005Date d'inscription - Dernière réponse le 13 mars 2012 à 00:16
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...
Lire la suite 

Tester si un string est un entier »

12 réponses
Réponse
+17
moins plus
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 ?");
}
Toto - 5 janv. 2012 à 22:55
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 ?");
Toto - 5 janv. 2012 à 23:49
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.
Jisso - 13 mars 2012 à 00:16
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 :)
Ajouter un commentaire
Réponse
+0
moins plus
bonsoir,
ben oui, isDigit pareil, as-tu la doc ?
A+
Ajouter un commentaire
Réponse
+0
moins plus
Voir ce message:

http://www.commentcamarche.net/forum/affich-1978161-besoin-d-une-aide-en-java

;-)
HackTrack
Keevkilla - 23 sept. 2009 à 16:27
Très smart la solution avec la Regex, je prends ;) (celle à la fin du post pointé par ce lien)
Thanx very much HackTrack
Ajouter un commentaire
Réponse
+0
moins plus
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...
Ajouter un commentaire
Réponse
+0
moins plus
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.
Ajouter un commentaire
Réponse
+0
moins plus
Merci bien, c'est exactement ce qu'il me fallait...
Ajouter un commentaire
Réponse
+0
moins plus
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.
BoOmSoluTioN- 12 févr. 2008 à 15:55
bonjour

essai ça:


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

a+
Ajouter un commentaire
Ce document intitulé « tester si un string est un entier » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?