【问题标题】:Javascript Rouding in For statementFor 语句中的 Javascript 舍入
【发布时间】:2010-01-27 21:25:42
【问题描述】:

我有这行:

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)) 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多