Arrondi à 6 décimales à l'aide des Mathématiques.tour méthode en Java android
Je suis en utilisant
double i2 = value * 2.23694;
i2 = (double)(Math.round(i2 * 100)) / 100;
pour arrondir les doubles. Mais il arrondit à seulement 2 chiffres après la virgule.
Je veux qu'il soit 6 décimales.
Est-il possible d'utiliser Math.round
et avoir 6 chiffres après la virgule?
- Qu'attendez-vous? Si vous arrondir un nombre, vous êtes en train de retirer toutes les décimales. Après cela, lorsque vous êtes en divisant 100, le seul résultat possible est de deux décimales!
Vous devez vous connecter pour publier un commentaire.
Vous êtes casting de choses à
Integer
s qui va ruiner tout l'arrondissement. Pour utiliserdouble
s, utilisez un point décimal (j'.e100.0
au lieu de100
). Et si vous le voulez avec 6 décimales, utilisez1000000.0
comme ceci:Mais en général, je pense que DecimalFormat est une solution plus élégante (deviner que vous voulez arrondis seulement de le présenter):
Si vous utilisez les valeurs pour l'affichage de l'utiliser juste en dessous de la méthode d'arrondi à 6 chiffres
double valeur = 12.3464367843;
double arrondi = (double) en Mathématiques.round(valeur * 1000000) /1000000;
de sortie:12.346437