【问题标题】:JS Counter To 2 Decimal Places [duplicate]2个小数位的JS计数器[重复]
【发布时间】:2015-11-07 13:18:31
【问题描述】:

所以我正在开发一个简单的自动计数器,它会在几秒钟内增加而不是目标目标数字,然后只是说明完成循环需要多长时间。

我的 parseFloat 函数目前有此代码,但无法弄清楚如何只显示 2 位小数。本质上,它必须看起来像英镑。所以 1.99、2.00、2.01、2.02 等,而不是重复出现的数字。

    var secs = 100;
    setInterval(function() {
    var $badge = $('#nhb_01');
    $badge.text(parseFloat($badge.text())+0.01);
}, secs);

感谢任何帮助!我不是一个 JS 编码员!

谢谢:)

当前JSFiddle

【问题讨论】:

标签: javascript jquery counter


【解决方案1】:

尝试使用.toFixed(decimalpoints)。还要记住,从.toFixed() 返回的结果将是string

var secs = 100;
setInterval(function() {
    var $badge = $('#nhb_01');
    $badge.text((parseFloat($badge.text())+0.01).toFixed(2));
}, secs);

DEMO

【讨论】:

  • @RejithRKrishnan 不在代码中。正确的? :) 无论如何感谢您的指点。好像有人帮我改正了。
【解决方案2】:

你可以试试这个:

var secs = 100;

setInterval(function() {
    var $badge = $('#nhb_01');
    var text = parseFloat($badge.text())+0.01;

    $badge.text(Math.round(text*100)/100));
}, secs);

【讨论】:

    【解决方案3】:

    你可以这样做:

    https://jsfiddle.net/g4jm68vp/

    var secs = 100;
    setInterval(function() {
        var $badge = $('#nhb_01');
        $badge.text((Math.round(parseFloat($badge.text(), 10) * 100) + 1) / 100);
    }, secs);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-24
      • 2014-05-02
      • 2018-01-05
      • 1970-01-01
      • 2017-07-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多