Javascript Rounding in For语句

时间:2010-01-27 12:58:43

标签: javascript rounding conditional-statements

我有这一行:

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会产生舍入误差,我需要精确的小数位。

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

最好做

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

如果你需要精确度。

答案 1 :(得分:1)

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

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