我有这一行:
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会产生舍入误差,我需要精确的小数位。
有什么建议吗?
答案 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))