Arrondi à deux décimales en Java
De nombreux développeurs rencontrent des difficultés lorsqu'ils tentent d'arrondir des nombres à virgule flottante à des décimales spécifiques en Java. Cela est particulièrement vrai lorsque le résultat souhaité doit rester un double.
Une approche courante consiste à utiliser Math.round(), comme le démontre le code suivant :
class Round { public static void main(String[] args) { double a = 123.13698; double roundOff = Math.round(a * 100) / 100; System.out.println(roundOff); } }
Cependant, cette approche ne parvient souvent pas à produire le résultat souhaité. Au lieu d'arrondir à 123,14, il produit 123.
Pour remédier à ce problème, une légère modification de la ligne 4 est requise :
double roundOff = Math.round(a * 100.0) / 100.0;
En ajoutant .0 au facteur de multiplication, le résultat est converti en un double avec deux décimales. Cela garantit que le résultat final comporte également deux décimales.
Alternativement, comme suggéré par @Rufein, on peut convertir la valeur arrondie en double :
double roundOff = (double) Math.round(a * 100) / 100;
Cette approche produit également efficacement le résultat souhaité de 123,14 avec deux décimales.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!