如果数字< 10添加" 0"

时间:2013-03-08 14:17:47

标签: javascript

我使用JavaScript进行了简单的倒计时,在这里您可以看到一个示例:http://jsfiddle.net/PCwx8/

它只算到今天的午夜。我的问题是,我只是希望JavaScript在小于10的数字前加上“0”。我有一个想法:

if (i<10)
{
    i="0" + i;
 }
return i;

但我不知道这是一个整体还是一个数字?感谢您的帮助,我通常与JavaScript无关,所以请理解!

5 个答案:

答案 0 :(得分:2)

你可以编写和使用这样的函数:

function addZeroIfNeeded(val){
    return val < 10 ? "0" + val : val;   
}

检查http://jsfiddle.net/VafZ7/

答案 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 bindleadzero可以通过以下方式完成:

var leadzero = lead.bind(null, "00");