JavaScript计数器中的千位分隔符

时间:2015-10-31 15:33:15

标签: javascript counter separator

我有这个计数器JavaScript代码段:

var START_DATE = new Date("October 24, 2015 11:00:00"); // start
var INTERVAL = 1; // sec
var START_VALUE = 0; // init value
var INCREMENT = 0.13; // value per sec
var count = 0;

window.onload = function()
{
 var msInterval = INTERVAL * 1000;
 var now = new Date();

 count = parseInt((now - START_DATE)/msInterval,10) * INCREMENT + START_VALUE;
 document.getElementById('count').innerHTML = count.toFixed(2);
 setInterval("count += INCREMENT; document.getElementById('count').innerHTML = count.toFixed(2);", msInterval);    
}

计数器最终可能会显示数千和数百万的值。我的问题是如何用逗号/空格分隔成千上万?我试图通过CSS实现这一点,但显然这里可用的选项不太实用。我想知道JavaScript中可能的解决方案。我在jsfiddle上发现了这个,但我不知道如何将它应用于计数器的结果?

function addCommas(n){
var rx=  /(\d+)(\d{3})/;
return String(n).replace(/^\d+/, function(w){
    while(rx.test(w)){
        w= w.replace(rx, '$1,$2');
    }
    return w;
});
}

1 个答案:

答案 0 :(得分:1)

您可以使用javascript内置的toLocaleString函数。这是example from MDN

var number = 3500;

console.log(number.toLocaleString()); // Displays "3,500" if in U.S. English locale

您可以使用该功能的其他选项,但并非所有浏览器都支持它们。基本用法应该有用。