comment puis je vérifier qu'un nombre est un entier en java ?
comment puis je vérifier qu'un nombre est un entier en java ?
Heu c'est assez vague comme question. c'est quoi ton nombre: un float/double? un BigDécimal? un String?
c'est un double .
je fais une division simple et je fais un traitement selon qu'il soit entier ou pas.
double a=b/d;
if(a=entier)
----traitement-----
else
----traitement-----
c'est vraiment vague: tu parles de quoi. entier au terme mathématique ou au terme informatique. voici deux codes tu n'a qu'a faire ton choix, mais la deuxième solution est meilleur que la premier (il n'est pas bien de recréer la rouecomment puis je vérifier qu'un nombre est un entier en java ?)
ou mieux:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 static boolean isInt(String s) { byte [] bytes = s.getBytes(); for (int n = 0; n < bytes.length; n++) { if ( ! Character.isDigit((char)bytes[n]) return false; } return true; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 private static boolean isInteger(String s) { boolean isValid = true; try{ Integer.parseInt(s); } catch(NumberFormatException nfe){ isValid = false; } return isValid; }
merci pour ton aide,
en fait voici ce que je voudrais faire :
et après faire un traitement suivant que f soit un entier ou pas !boolean isValid = true;
float f=(float)nbTask/critNbTask;
int a;
System.out.println("f: "+f);
try{ a=(int)f;}
catch(NumberFormatException nfe){ isValid = false; }
mais avec ce code isValue est toujours à true
si nbTask et critNbTask sont des entiers (ce que je crois, vu leur nom), tu peux faire ceci :
Cela renvoie true si nbTask est un multiple de critNbTask et false dans le cas contraire.
Code : Sélectionner tout - Visualiser dans une fenêtre à part return (nbTask % critNbTask) == 0
Ou quelquechose dans ce genre :
if( doubleValue == (int)doubleValue )
Partager