【问题标题】:Add commas to a javascript countup timer将逗号添加到 javascript 计数计时器
【发布时间】:2011-08-07 03:52:46
【问题描述】:

这是我的程序:

<script>
var montharray = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec")

function countup(yr, m, d) {
    var today = new Date()
    var todayy = today.getYear()
    if (todayy < 1000) todayy += 1900
    var todaym = today.getMonth()
    var todayd = today.getDate()
    var todaystring = montharray[todaym] + " " + todayd + ", " + todayy
    var paststring = montharray[m - 1] + " " + d + ", " + yr
    var difference = (Math.round((Date.parse(todaystring) - Date.parse(paststring)) / (24 * 60 * 60 * 1000)) * 1)
    difference += ""
    document.write("" + difference + "")
}
//enter the count up date using the format year/month/day
countup(2007, 01, 24)
</script>

我试图让输出在千位插入逗号(例如 1,234 而不是 1234)。我该怎么做?

【问题讨论】:

  • 这里没有真正的问题。投票结束。
  • @Delan,我认为这个问题是真实的,它只是需要一些清理。
  • @Eric 为什么要把空字符串("")加到difference上?
  • 我同意彼得的观点。用户是新用户,只需要对问题进行一些清理。无需因此而粗鲁并关闭它。
  • @Kris,实际上,不应该在那里。这与尝试将字符串输出到添加逗号的函数有关。我把它放在那里是我的错误。 -- 下面还有更多的 cmets,谢谢。

标签: javascript timer comma


【解决方案1】:

要为每三分之一添加逗号,只需从后面遍历转换为字符串的数字,每三分之一添加一个逗号。

var str = "" + num;
var s2 = "";
for( var i = str.length()-1; i != 0; i-- ){
    s2 += str.charAt(i);
    if( 0 == (str.length() - i) % 3 )
        s2 += ",";
}

等等。不确定数学。

【讨论】:

  • 这个。只需确保在循环中向后工作,以便确保逗号正确。编辑:我在他添加代码之前添加了我的评论(所以没有人认为我疯了):)
  • 在上面评论过,但这正是我一直没有想到的......将我的字符串从倒数计时器获取到逗号函数。对不起,我是一个新手:“只需迭代从后面转换为字符串的数字,每三分之一”完全令人困惑。
  • 迭代依次遍历每个项目。转换为字符串的数字是 12345(一个数字)变为“12345” - 一个字符串,因此您可以遍历字符。从后面 - 你从“5”开始,然后转到“1”。这是由for 循环和i-- 完成的。每隔三分之一 - 这是用 % 符号完成的,它是模运算符 - 你可能从数学课上知道:) 所以复制三个字符,放一个逗号,接下来的三个字符,等等。
  • 感谢 Ondra,这很有帮助。让我看看我能不能完成这项工作。
猜你喜欢
  • 2021-05-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-12-31
  • 1970-01-01
相关资源
最近更新 更多