Bonjour,
Je m'adresse à la communauté car un problème m'empêche de dormir en ce moment... je n'arrive pas à comprendre.
Voici le bout de code fautif:
Double d1 = new Double(6.33);
Double d2 = new Double(6.33);
Double d3 = new Double(10);
double d4 = d3.doubleValue() + d1.doubleValue() + d2.doubleValue();
System.out.println("" +d4);
J'obtiens 22.65999999999999997 au lieu de 22.66 !!!!!!!!
Par contre si je fais:
double d4 = d1.doubleValue() + d2.doubleValue() + d3.doubleValue();
J'obtiens le bon résultat, 22.66 (j'ai d'abord ajouté le 10)
Après avoir fait différents tests et cherché, je ne trouve pas l'explication..
Alors je m'en remets à vos avis d'experts!!
Merci!
Partager