Pourquoi 0,06 + 0,01 = 0,07 dans Coldfusion?
-
30-10-2019 - |
Question
Pourquoi les opérations mathématiques dans Coldfusion ne semblent-elles pas être affectées par les problèmes mathématiques de points flottants? Prenez le code:
result = 0.06 + 0.01;
writedump(result);
writedump(result.getClass().getName());
Quelles sorties
0.07
java.lang.double
Cependant, le code Java Equivlant produit ce à quoi j'attendais lors de l'ajout de deux doubles:
public static void main(String[] args) {
double a = 0.01d;
double b = 0.06d;
System.out.println(a + b); //0.06999999999999999
}
C'est ce que je m'attendais à voir de Coldfusion à cause des réalités des mathématiques flottantes (http://download.oracle.com/docs/cd/e19957-01/806-3568/ncg_goldberg.html).
Coldfusion fait-elle une "magie" dans les coulisses ou suis-je ici une anomalie isolée?
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow