JAVA : afficher exactement 2 décimales
ifoks
-
danimo -
danimo -
Bonjour,
Je voudrais afficher un nombre double avec exactement 2 décimales, j'ai réussi à faire l'arrondie mais par exemple si le résultat vaut 1.7, le programme va m'afficher 1.7 alors que je voudrais qu'il affiche 1.70
Aidez moi please !
Je voudrais afficher un nombre double avec exactement 2 décimales, j'ai réussi à faire l'arrondie mais par exemple si le résultat vaut 1.7, le programme va m'afficher 1.7 alors que je voudrais qu'il affiche 1.70
Aidez moi please !
2 réponses
-
Salut,
Après l'arrondi (supposé dans double mon_double) tu ajoutes ceci:
//double mon_double = 1.7; DecimalFormat df = new DecimalFormat("0.00"); System.out.println(df.format(mon_double));
Cordialement,
Dan -
danimo t'a donné la réponse :)
Sinon au cas où voici ma méthode que j'utilise pour arrondir le double x à n décimales au cas où ça pourrait te servir.
private static double arrondiNDecimales(double x, int n) { double pow = Math.pow(10, n); return (Math.floor(x * pow)) / pow; }
Exemple :
double reel = 3.1415
double arrondi = arrondiNDécimales(reel, 2);
System.out.println(arrondi);
// affiche 3.14-
Salut,
OK pour l'arrondi scriptiz, mais ce que veut ifoks, c'est qu'au cas où l'arrondi donne par exemple 1.7 on affiche 1.70
Avec cet exemple:
double reel = 1.701234;
double arrondi = arrondiNDecimales(reel, 2);
System.out.println(arrondi);
On affichera 1.7
On pourait aussi faire un arrondi à 3 décimales qui dans cet exemple donnerait 1.701 et ensuite tronquer le résultat à 2 décimales, mais je pense qu'il vaut mieux utiliser DecimalFormat,
Et ceci sans avoir à se risquer à utiliser BigDecimal,,,
Cordialement,
Dan -
Je sais bien danimo, c'est pour ça que je dit
"danimo t'a donné la réponse. Sinon au cas où voici ma méthode que j'utilise pour arrondir le double x à n décimales au cas où ça pourrait te servir. "
En gros je lui suggère en plus une méthode d'arrondi au cas où il utilisais une façon plus compliquée ^^ -
-