我有一个正在用Java和JavaScript评估的表达式。

爪哇

System.out.println(582344008L * 719476260);

Output: 418982688909250080


Java脚本

document.write(582344008 * 719476260)

Output: 418982688909250050


为什么两个值都不同?

最佳答案

Javascript数字都是IEEE 754的双精度,因此看来这里存在一些浮点错误。有关更多详细信息,请参见Difference between floats and ints in Javascript?

10-05 20:16
查看更多