【问题标题】:Adding commas in Javascript Countup在 Javascript Countup 中添加逗号
【发布时间】:2018-08-21 17:02:16
【问题描述】:

我有这个 Javascript

<script>
var START_DATE = new Date("February 21, 2018 00:00:00"); // put in the 
starting date here
var INTERVAL = 1; // in seconds
var INCREMENT = 6720; // increase per tick
var START_VALUE = 17419171608; // initial value when it's the start date
var count = 0;

window.onload = function()
{
 var msInterval = INTERVAL * 1000;
 var now = new Date();
 count = parseInt((now - START_DATE)/msInterval) * INCREMENT + START_VALUE;
 document.getElementById('counter').innerHTML = count;
 setInterval("count += INCREMENT; 
document.getElementById('counter').innerHTML = count;", msInterval);
}
</script>

我试图用逗号分隔上述代码中的千位,但我无法这样做。

我尝试了here 的说明,但我无法用逗号分隔千位。

非常感谢任何帮助。谢谢。

【问题讨论】:

标签: javascript


【解决方案1】:

我以你的为例,我修改了。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Untitled Document</title>
        <script type="text/javascript">
 
            var START_DATE = new Date("December 1, 2010 20:00:00"); // put in the starting date here
            var INTERVAL = 1; // in seconds
            var INCREMENT = 1; // increase per tick
            var START_VALUE = 4166667; // initial value when it's the start date
            var count = 0;
 
            window.onload = function() {
                var msInterval = INTERVAL * 1000;
                var now = new Date();
                count = parseInt((now - START_DATE)/msInterval) * INCREMENT + START_VALUE;
                document.getElementById('counter').innerHTML = addCommas(count.toString());
                setInterval(incrCount, msInterval);
            }
 
            function incrCount() {
                count += INCREMENT;
                document.getElementById('counter').innerHTML = addCommas(count.toString());
            }
 
           
			
			function addCommas(nStr){
                return parseInt(nStr).toLocaleString();
            }
        </script>
    </head>
    <body>
 
        <div id="counter"></div>
 
    </body>
</html>
 

【讨论】:

  • 这成功了!谢谢耶稣库斯塔。非常感谢您的帮助。
【解决方案2】:

您可以尝试在“count”变量上使用 Number.prototype.toLocaleString() 函数。该数字将根据区域设置打印,因此对于 EN,它将具有预期的逗号。

var count = 10000000;    
console.log (count.toLocaleString());

【讨论】:

  • 感谢您的回答,哈里米切尔;但恐怕没有任何改变。
  • 就像在接受的答案中一样,您实际上可以在代码中使用该函数。我展示的只是示例用法。谢谢!
【解决方案3】:

看看这个:How to print a number with commas as thousands separators in JavaScript

有一个很好的解析负数、大数和浮点数的功能。

您可以在运行后尝试输出您的计数:

const numberWithCommas = (x) => {
  var parts = x.toString().split(".");
  parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
  return parts.join(".");
}

这里有一个快速的小提琴我一起向你展示方法: https://jsfiddle.net/r4s5rrrn/2/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-21
    • 2012-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多