Maison > Java > javaDidacticiel > Une brève discussion sur le problème des petites déviations des résultats de la double multiplication Java

Une brève discussion sur le problème des petites déviations des résultats de la double multiplication Java

高洛峰
Libérer: 2017-01-23 16:06:58
original
1629 Les gens l'ont consulté

Regardez le résultat d'exécution du morceau de code suivant :

public class TestDouble {
 
public static void main(String[] args) {
 
double d =538.8;
 
System.out.println(d*100);
 
}
Copier après la connexion

Le résultat de sortie n'est étonnamment pas 53880 mais 53879.99999999999

Méthode de solution 1 : Remplacez

538,8*100 par *10*10 pour obtenir le résultat souhaité. Remplacez

538,8*10000 par 100*100.

Solution 2 :

public class TestDouble {
  public static void main(String[] args) {
   double d =538.8;  
   BigDecimal a1 = new BigDecimal(Double.toString(d));
   BigDecimal b1 = new BigDecimal(Double.toString(100)); 
   BigDecimal result = a1.multiply(b1);// 相乘结果
   System.out.println(result);
   BigDecimal one = new BigDecimal("1");
   double a = result.divide(one,2,BigDecimal.ROUND_HALF_UP).doubleValue();//保留1位数
   System.out.println(a);
  }
}
Copier après la connexion

L'article ci-dessus aborde brièvement le petit problème de déviation dans le résultat de la double multiplication Java, qui est tout le contenu partagé par le éditeur. J'espère qu'il pourra vous donner une référence et j'espère que vous soutiendrez le site Web PHP chinois.

Pour plus d'articles sur la petite déviation des résultats de double multiplication Java, veuillez faire attention au site Web PHP chinois !

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal