Duplicata possible:
Arrondissez un double à 2 chiffres significatifs après le point décimal
J'essaie de formater un double à 2 décimales avec des zéros non significatifs et il n'y a pas de chance. Voici mon code:
Double price = 32.0;
DecimalFormat decim = new DecimalFormat("#.##");
Double price2 = Double.parseDouble(decim.format(price));
Et je veux que la sortie soit 32.00
à la place je reçois 32.0
Des solutions ??
OP veut des zéros non significatifs. Si c'est le cas, alors selon Tofubeer:
DecimalFormat decim = new DecimalFormat("0.00");
Modifier:
Rappelez-vous, nous parlons ici de mise en forme des nombres, pas de la représentation interne des nombres.
Double price = 32.0;
DecimalFormat decim = new DecimalFormat("0.00");
Double price2 = Double.parseDouble(decim.format(price));
System.out.println(price2);
imprimera price2
en utilisant le format par défaut. Si vous souhaitez imprimer la représentation formatée, imprimez en utilisant le format:
String s = decim.format(price);
System.out.println("s is '"+s+"'");
Dans cette optique, je ne pense pas que votre parseDouble()
fasse ce que vous voulez, ni ne le peut.
Essaye ça:
DecimalFormat decim = new DecimalFormat("#.00");