3

我有这条线:

for (var j = 0; j<1; j = (j + 0.1).toPrecision(1))

我正在尝试设置此语句,以便我得到 0、0.1、0.2、0.3 直到数字 1。

目前我得到 0, 0.1 然后什么都没有,好像结果直接通过了 1,

简单地使用 j = j + 0.1 会产生舍入误差,我需要精确的小数位。

有什么建议么?

4

2 回答 2

2

最好这样做

for (var jj = 0; jj < 10; ++ jj) {
   var j = jj / 10;
   ...
}

如果你需要精度。

于 2010-01-27T13:22:24.150 回答
1

试试这个......当你使用 toPrecision 它不再是数字,所以它在第一次迭代后失败。

for (var j = 0; j<1; j = (parseFloat(j) + 0.1).toPrecision(1)) 
于 2010-01-27T13:17:51.403 回答