【问题标题】:JavaScript - Timer - Speeding math glitch [duplicate]JavaScript - 计时器 - 加速数学故障 [重复]
【发布时间】:2013-04-27 16:59:39
【问题描述】:
    var time_gone = 0

    function timer() {
        time_gone += 0.01 
        console.clear()
        console.log(time_gone)
        setTimeout("timer()", 10)
    }

    timer()

尝试使用此代码并查看控制台

为什么计数器会失败?!?!?!?

【问题讨论】:

  • 它给了我 2.320000000000023

标签: javascript math timer counter


【解决方案1】:

这可能会因为重复而关闭,因为这正是 JavaScript 数学的工作原理。实际上,大多数编程语言都处理这样的浮点数,所以我建议你认真阅读the post linked above,并尝试理解它。

现在,要修复数字的显示,您可以使用toFixed

var time_gone = 0;
function timer() {
    time_gone += 0.01;
    console.clear();
    console.log(time_gone.toFixed(2));
    setTimeout(timer, 10);
}
timer();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多