5

我正在用 java 脚本进行计算,但由于十进制数的精度,我面临一个问题。我无法发布确切的计算结果,但这就是我正在做的事情,这会导致意想不到的结果

当我写: alert(100.01-36.01);// 结果是 64

但是当我写: alert(100.01-37.01); //结果是 63.00000000000001

38.01.... 以此类推。任何人都可以帮助我了解为什么这会表现出如此意外的行为。我陷入了计算中。

提前致谢。

4

2 回答 2

1

尝试这个 :

<script type="text/javascript">
var n1 = parseFloat(100.01);
var n2 = parseFloat(37.01);
变量 res = (n1-n2)
警报(res.toFixed(2));
</脚本>
于 2012-06-20T06:22:12.017 回答
0

如果你不将数字声明为数字,js 将自动将其用作字符串,如果字符串不仅用于数字。

parseFloat(123.45) 将其设置为十进制数。

于 2012-06-20T06:29:56.187 回答