voici mon exemple:2 décimales en java
Et ma sortie est de 1,0 au lieu de 1,3
Toutes les suggestions?
voici mon exemple:2 décimales en java
Et ma sortie est de 1,0 au lieu de 1,3
Toutes les suggestions?
Ne faites pas de division int car cela entraînera toujours un int tronqué. Au lieu de cela, votre division utilise au moins une valeur double.
double num = 4.0/3.0;
Puis, quand vous voulez afficher en tant que chaîne, formater la sortie de sorte que vous pouvez choisir vos places décimales:
// one way to do it
// %.3f is for a floating number with 3 digits to the right of the decimal
// %n is for new line
System.out.printf(%.3f%n, num);
Another:
DecimalFormat decimalFormat = new DecimalFormat("0.000");
System.out.println(decimalFormat.format(num));
Vous devez également utiliser String.format (% 1.2f, yourDouble) pour formater vos décimales
Oui, ce code va imprimer les données doubles, mais vérifiez que' int/int = int', donc '4/3' sera '1', vous devriez utiliser' 4.0/3.0' pour obtenir '1.333 ...' –
Try this ..
double value= 255.956666;
BigDecimal bd = new BigDecimal(value).setScale(2, RoundingMode.HALF_UP);
System.out.println("value="+bd);
OMG !!!!!!!!!!!!!!!!!!!! merci T_T – Jcorretjer
Eh bien vous avez seulement besoin d'avoir un être un double (comme 4.0/3 ou 4/3.0), mais les deux ne peuvent pas blesser :) +1 –
@Alex: oui, ou '(double) 4/3' serait fonctionne bien aussi. –