Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
自动递增计数器,格式以百万、十亿等为单位(javascript)_Javascript_Counter_Setinterval_Auto Increment_Infinity - Fatal编程技术网

自动递增计数器,格式以百万、十亿等为单位(javascript)

自动递增计数器,格式以百万、十亿等为单位(javascript),javascript,counter,setinterval,auto-increment,infinity,Javascript,Counter,Setinterval,Auto Increment,Infinity,我试图显示一个自动递增计数器直到无穷大。当它达到这些面额时,它应该自动格式化为千位、百万位、十亿位等,最多小数点后3位 例如:1234应自动显示为1.234K(最好带有前缀$) 123456美元,折合12345.6万美元 1234567美元为123.4万美元 1234567891为12.34亿美元 诸如此类(可能直到德切利提出建议,为更多面额留出空间) 我用这个作为增量计数器 var initial = 1; var inc = 500; $(document).ready(function (

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

例如:1234应自动显示为1.234K(最好带有前缀$)
123456美元,折合12345.6万美元
1234567美元为123.4万美元
1234567891为12.34亿美元
诸如此类(可能直到德切利提出建议,为更多面额留出空间)

我用这个作为增量计数器

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

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

您需要创建一个字符串,以便在每次更新数字时显示该字符串。一些有用的片段:

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

截断

截断=Math.floor(yourNumber*Math.pow(10个位置))/Math.pow(10个位置)

是您的问题,如何设置格式还是如何在递增时设置格式?您好,是的,在递增时连续设置格式。谢谢,你有把给定的数据格式化成所需输出的代码吗?我确实试过一些方法,但当它减少到数千时,它最终会截断这个数字。所以计数器永远不会超过1K。另外,我不能得到小数点。假设format函数满足您的要求,您可以查看这个jsbin