我使用JavaScript进行了简单的倒计时,在这里您可以看到一个示例:http://jsfiddle.net/PCwx8/
它只算到今天的午夜。我的问题是,我只是希望JavaScript在小于10的数字前加上“0”。我有一个想法:
if (i<10)
{
i="0" + i;
}
return i;
但我不知道这是一个整体还是一个数字?感谢您的帮助,我通常与JavaScript无关,所以请理解!
答案 0 :(得分:2)
你可以编写和使用这样的函数:
function addZeroIfNeeded(val){
return val < 10 ? "0" + val : val;
}
答案 1 :(得分:1)
使用("0" + seconds).slice(-2)
。
请参阅DEMO。
document.getElementById("seconds").innerHTML= ("0" + seconds).slice(-2);
document.getElementById("hours").innerHTML= ("0" + hours).slice(-2);
document.getElementById("days").innerHTML= ("0" + days).slice(-2);
document.getElementById("minutes").innerHTML= ("0" + minutes).slice(-2);
答案 2 :(得分:1)
在这里:http://jsfiddle.net/PCwx8/3/
var seconds = 60-aseconds;
if(parseInt(seconds,10) <10){
seconds = "0"+seconds;
}
答案 3 :(得分:0)
JS几乎肯定会将"0"
解析为整数,并向i
添加零。有点麻烦,但工作如下:
var i = 0;
if (i < 10) {
i = "0" + ("" + i);
}
return i;
诀窍是,确保i
成为一个字符串。类似于使用numericalStringvar * 1
答案 4 :(得分:0)
不确定问题是什么,但是你可以用类似的东西来概括:
function lead(str, num) {
return (str + num).slice(-str.length);
}
function leadzero(num) {
return lead("00", num);
}
console.log(leadzero(2)) // 02
console.log(leadzero(10)) // 10
当然,如果您所在的环境支持ECMAScript5's bind,leadzero
可以通过以下方式完成:
var leadzero = lead.bind(null, "00");