Maison > Java > javaDidacticiel > Comment arrondir correctement les doubles à deux décimales en Java ?

Comment arrondir correctement les doubles à deux décimales en Java ?

Mary-Kate Olsen
Libérer: 2024-11-30 07:35:16
original
686 Les gens l'ont consulté

How to Correctly Round Doubles to Two Decimal Places in Java?

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);
    }
}
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal