将逗号添加到 javascript 计数计时器
Posted
技术标签:
【中文标题】将逗号添加到 javascript 计数计时器【英文标题】:Add commas to a javascript countup timer 【发布时间】: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,谢谢。
【参考方案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,这很有帮助。让我看看我能不能完成这项工作。以上是关于将逗号添加到 javascript 计数计时器的主要内容,如果未能解决你的问题,请参考以下文章