ColdFusionで0.06 + 0.01 = 0.07があるのはなぜですか?
-
30-10-2019 - |
質問
ColdFusionの数学操作は、浮動小数点の数学の問題の影響を受けないように見えるのはなぜですか?コードを取ります:
result = 0.06 + 0.01;
writedump(result);
writedump(result.getClass().getName());
出力
0.07
java.lang.double
ただし、2つのダブルを追加するときに私が期待するものを生成します。
public static void main(String[] args) {
double a = 0.01d;
double b = 0.06d;
System.out.println(a + b); //0.06999999999999999
}
これは、フローティング数学の現実のために、私がColdFusionから見ることを期待するものです(http://download.oracle.com/docs/cd/e19957-01/806-3568/ncg_goldberg.html).
ColdFusionは舞台裏で「魔法」をしていますか、それともここで孤立した異常を見ていますか?
正しい解決策はありません
所属していません StackOverflow