我用 JavaScript 做了一个简单的倒计时,在这里你可以看到一个例子:http: //jsfiddle.net/PCwx8/
它只是算到今天的午夜。我的问题是我只是希望 JavaScript 在小于 10 的数字前面加上一个“0”。我有一个想法:
if (i<10)
{
i="0" + i;
}
return i;
但我不知道它是一个整数还是一个数字?感谢您的帮助,我通常与JavaScript无关,所以请理解!
我用 JavaScript 做了一个简单的倒计时,在这里你可以看到一个例子:http: //jsfiddle.net/PCwx8/
它只是算到今天的午夜。我的问题是我只是希望 JavaScript 在小于 10 的数字前面加上一个“0”。我有一个想法:
if (i<10)
{
i="0" + i;
}
return i;
但我不知道它是一个整数还是一个数字?感谢您的帮助,我通常与JavaScript无关,所以请理解!
您可以编写和使用这样的函数:
function addZeroIfNeeded(val){
return val < 10 ? "0" + val : val;
}
使用("0" + seconds).slice(-2)
.
见演示。
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);
给你:http: //jsfiddle.net/PCwx8/3/
var seconds = 60-aseconds;
if(parseInt(seconds,10) <10){
seconds = "0"+seconds;
}
JS 几乎肯定会将 解析"0"
为整数并将 0 添加到i
. 有点麻烦但工作如下:
var i = 0;
if (i < 10) {
i = "0" + ("" + i);
}
return i;
诀窍是,确保这i
将成为一个字符串。类似于使整数成为字符串numericalStringvar * 1
不确定问题是什么,但是您可以用类似的方法进行概括:
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 的 bind的环境中,leadzero
可以这样完成:
var leadzero = lead.bind(null, "00");