¿Por qué 0.06 + 0.01 = 0.07 en Coldfusion?
-
30-10-2019 - |
Pregunta
¿Por qué las operaciones matemáticas en Coldfusion no parecen verse afectadas por problemas de matemáticas de punto flotante? Tome el código:
result = 0.06 + 0.01;
writedump(result);
writedump(result.getClass().getName());
Que sale
0.07
java.lang.double
Sin embargo, el código Java Equivlant produce lo que esperaba al agregar dos dobles:
public static void main(String[] args) {
double a = 0.01d;
double b = 0.06d;
System.out.println(a + b); //0.06999999999999999
}
Esto es lo que esperaría ver en Coldfusion debido a las realidades de las matemáticas flotantes (http://download.oracle.com/docs/cd/e19957-01/806-3568/ncg_goldberg.html).
¿Coldfusion hace algo de "magia" detrás de escena o estoy mirando una anomalía aislada aquí?
No hay solución correcta
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow