【问题标题】:Auto-increment counter with formatting in Millions, Billions etc (javascript)自动增量计数器,格式为百万、十亿等 (javascript)
【发布时间】:2019-01-22 08:41:31
【问题描述】:

我正在尝试显示一个自动递增的计数器,直到无穷大。当它达到这些面额时,它应该自动格式化为千位、百万位、十亿位等,最多保留 3 位小数。

例如:1234 应该自动显示为 1.234 K(最好带有前缀 $)
123456 为 $123.456 K
1234567 为 123.4 万美元
1234567891 为 12.34 亿美元
依此类推(可能要等到 Decilli,请多多指教,为进一步的面额留出空间)

我将其用于增量计数器

var initial = 1;
var inc = 500;
$(document).ready(function () {
    go();
    setInterval(function () {
        go();
    }, inc);
});
function go() {
    $("#inccounter").html(initial.toFixed(0));
    initial += 1;
}

但随着它的增加,我无法对其进行格式化。

【问题讨论】:

  • 是你的问题,如何格式化或如何在递增时格式化?
  • 嗨,是的,它是在递增的同时连续格式化。谢谢
  • 那么你有代码来格式化一个给定的输出吗?
  • 我确实尝试了一些东西,但是当它减少到数千时它最终会截断数字。所以计数器永远不会超过 1K。另外,我不能得到小数位。
  • 假设格式函数做你想做的,你可以看看这个jsbin jsbin.com/yejinuboyu/edit?js,output

标签: javascript counter setinterval auto-increment infinity


【解决方案1】:

您需要创建一个字符串以在每次要更新数字时显示。一些有用的sn-ps:

计算位数
数字 = Math.floor(Math.log10(yourNumber))+1

截断
截断 = Math.floor(yourNumber*Math.pow(10, places))/Math.pow(10, places)

【讨论】:

    猜你喜欢
    • 2021-12-14
    • 2022-01-24
    • 1970-01-01
    • 1970-01-01
    • 2020-12-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-23
    相关资源
    最近更新 更多