For 语句中的 JavaScript 路由

发布于 2024-08-19 11:56:20 字数 251 浏览 3 评论 0原文

我有这样一行:

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

有什么建议吗?

I have this line:

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

I'm trying to set up this statement so I get 0, 0.1, 0.2, 0.3 up to the number 1.

At the moment I get 0, 0.1 and then nothing as if the result goes straight passed 1,

Simply using j = j + 0.1 produces rounding errors and I need the precise decimal place.

Any suggestions?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

水染的天色ゝ 2024-08-26 11:56:20

最好这样做。

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

如果需要精度的话

It's better to do

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

if you need precision.

时光匆匆的小流年 2024-08-26 11:56:20

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

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

Try this... When you use toPrecision its not number any more so it fails after the first iteration.

for (var j = 0; j<1; j = (parseFloat(j) + 0.1).toPrecision(1)) 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文