Maison >Java >javaDidacticiel >Comment arrondir avec précision les doubles à deux décimales en Java ?

Comment arrondir avec précision les doubles à deux décimales en Java ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-30 12:14:13283parcourir

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

Arrondir à 2 décimales en Java

Cette question aborde le défi d'arrondir des valeurs doubles à deux décimales en Java. L'extrait de code fourni tente d'utiliser Math.round() pour arrondir, mais le résultat est incorrect.

La solution à ce problème réside dans la compréhension de la précision de Math.round(). Par défaut, il arrondit à l'entier le plus proche. Pour obtenir deux décimales, la valeur doit être mise à l'échelle de manière appropriée.

Une approche viable consiste à multiplier le double par 100 avant d'arrondir, puis à diviser par 100 pour préserver la précision :

double roundOff = Math.round(a * 100.0) / 100.0;

Ceci La méthode garantit que l'arrondi est effectué à deux décimales.

Alternativement, convertir le résultat de Math.round() en un double peut également obtenir le résultat souhaité :

double roundOff = (double) Math.round(a * 100) / 100;

Ces deux approches arrondissent avec précision la valeur double spécifiée à deux décimales, fournissant ainsi le résultat souhaité.

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!

Déclaration:
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