簡體   English   中英

JavaScript 計數器中的千位分隔符

[英]Thousand separator in a JavaScript counter

我有這個計數器 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;
});
}

您可以使用 javascript 的內置 toLocaleString 函數。 這是來自 MDN示例

var number = 3500;

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

您可以將一些附加選項用於該功能,但並非所有瀏覽器都支持它們。 不過基本使用應該可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM