javascript 中的控制台日志小数步数

console log decimal steps to number in javascript

我正在尝试在 Javascript 中动态制作十分之一 0.1 编号的标尺。我知道我可以很容易地制作一个 for 循环和 console.log 来获得正确的迭代次数。我只需要正确地掌握数学知识,这就是让我对如何编码感到困惑的地方。

应该是这样记录的...

0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
2

像 0 这样的整数就是 0,1 就是 1,2 就是 2 等等....

但是我的问题是它是这样生成的...

0
.1
.2
.3
.4
.5
.6
.7
.8
.9
.10
.11
.12
.13
.14
.15
.16
.17
.18
.19
.20

我知道 1.1 大于 1 并且 2 大于 1.0 我知道我可以像 (1.1 > 1) 这样写表达式来检测它但是我如何在日志示例中写出所有表达式我上面的第一个例子?

var timeVal = parseFloat(parseFloat(time.value));

for (i = 0; i < parseFloat(timeVal * 10) + 1; i++) {
    if (i === 0) {
      console.log(+i)
    } else if (i <= 1) {
      console.log('.'+i)
    } else {
      console.log('.'+i)
    }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

seconds: <input id="time" type="number" value="2" min="0" step=".1">

一个简单的 for 循环就可以做到。它也适用于十进制数。 for循环中的“timeVal + 0.01”是为了避免float error margin的问题。

var timeVal = parseFloat(document.getElementById("time").value);

for (var i = 0; i <= timeVal + 0.01; i += 0.1) {
  console.log(i.toFixed(1));
}
seconds: <input id="time" type="number" value="2.3" min="0" step=".1">