具有十进制增量的 Javascript For 循环输出错误

标签 javascript loops for-loop

<分区>

我有一个问题,我认为是一个错误。所以我创建了一个 for 循环:

var multi=2;
 for (limit=0; limit < length; limit += 1.2) {
      multi++;
 }
 console.log(multi);

除了长度=10.8 或其任意倍数的情况外,所有值范围的输出都是正确的。输出显示为 multi=12,实际上它应该是 11。

谁能告诉我为什么会这样?

谢谢!

最佳答案

因为多值是2

var length = 10.8
var multi  = 1;
 for(limit = 0; limit<length; limit+=1.2) {
      multi++;
 }

console.log(multi); // 11

您可以将 limit+=1.2 更改为 limit+=1.3 以获得 11

var length = 10.8
var multi  = 2;
 for(limit = 0; limit<length; limit+=1.3) {
      multi++;
 }

console.log(multi); // 11

关于具有十进制增量的 Javascript For 循环输出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42945728/

相关文章:

javascript - 子像素 CSS 定位

javascript - 从选中的 TR 的 TD 获取参数

java - 这些操作中哪一个在节省内存和 CPU 方面更好? ( java )

python - Python 中的数据框值匹配

c++ - 进入循环时出现段错误

javascript - 重新加载 iFrame CSS

javascript - 如何获得图像的按钮侧

javascript - 迭代使用对象键嵌套的数组

java - 帮助我理解在 java 中这个循环中发生了什么

java - 有没有办法在 delphi(Pascal 对象)中像在 java 中那样为每个对象创建一个?