【问题标题】:Javascript Rouding in For statementFor 语句中的 Javascript 舍入
【发布时间】:2023-12-29 03:52:02
【问题描述】:

我有这行:

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

有什么建议吗?

【问题讨论】:

标签: javascript rounding conditional-statements


【解决方案1】:

这样做更好

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

如果您需要精确度。

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      最近更新 更多