当我运行“ For”循环并以0.1递增(从1开始)记录其中使用的索引时,结果不是具有单个小数位的数字,而是具有多个小数位的数字(代码和结果)在下面显示)。
for (let i = 1; i <= 2; i += 0.1) {
console.log(i);
};
我期望看到以下系列:
1
1.1
1.2
1.3
...
实际上,我得到的是:
1
1.1
1.2000000000000002
1.3000000000000003
1.4000000000000004
1.5000000000000004
1.6000000000000005
1.7000000000000006
1.8000000000000007
1.9000000000000008
这在每种浏览器中都会发生,其方式与我直接在控制台DOM中编译循环或在Visual Studio Code中进行编码的方式相同。 有人对此有解释吗?
答案 0 :(得分:0)
您是否尝试增加0.100000000000000?
还是使用i = i.toFixed(1)
?这会将数字四舍五入到小数点后一位。可能不是您所需要的,因为toFixed
会将数字转换为字符串