我做了JavaScript的一個簡單的倒計時,在這裏你可以看到一個例子:http://jsfiddle.net/PCwx8/的JavaScript如果數<10加一個「0」
它只是今天計數到午夜。我的問題是,我只是想的JavaScript前面加上一個「0」,即小於10我有這樣一個想法的數字:
if (i<10)
{
i="0" + i;
}
return i;
但我不知道它是否是一個整體或者只是一個數?感謝您的幫助,我通常與JavaScript無關,所以請理解!
我做了JavaScript的一個簡單的倒計時,在這裏你可以看到一個例子:http://jsfiddle.net/PCwx8/的JavaScript如果數<10加一個「0」
它只是今天計數到午夜。我的問題是,我只是想的JavaScript前面加上一個「0」,即小於10我有這樣一個想法的數字:
if (i<10)
{
i="0" + i;
}
return i;
但我不知道它是否是一個整體或者只是一個數?感謝您的幫助,我通常與JavaScript無關,所以請理解!
字符串你可以編寫和使用這樣的功能:
function addZeroIfNeeded(val){
return val < 10 ? "0" + val : val;
}
三元運算符是一件美麗的事情。 – jmeas 2013-03-08 14:30:24
使用("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);
我不喜歡這個解決方案。你首先添加一些東西,然後在大部分時間再次刪除它... – Fortega 2013-03-08 14:27:16
有時我有upp三個數字!例如,當我數一年的日子!但是,謝謝 – 2013-03-08 14:29:09
JS將幾乎可以肯定解析"0"
爲整數,並添加零i
。繁瑣的工作,但有一點是:
var i = 0;
if (i < 10) {
i = "0" + ("" + i);
}
return i;
的訣竅是,要確保,即i
將成爲一個字符串。類似製作的整數,numericalStringvar * 1
不,如果一個操作數是一個字符串,則會執行字符串連接。 – 2013-03-08 14:24:18
當我嘗試這個代碼時,它什麼都沒顯示! – 2013-03-08 14:25:28
是的,在控制檯中試試吧。 「0」+1去「01」 – 2013-03-08 14:25:31
在這裏你去:http://jsfiddle.net/PCwx8/3/
var seconds = 60-aseconds;
if(parseInt(seconds,10) <10){
seconds = "0"+seconds;
}
不知道問題是什麼,但是你可以用這樣的概念來推廣:
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");
有啥問題?你給出的代碼是正常的解決方案(儘管它通常包含在一個小函數中,所以你可以調用相同的邏輯幾個小時,幾分鐘和幾秒鐘)。 – Alnitak 2013-03-08 14:18:56
我向你展示的代碼不適用!我如何將它插入我的小提琴示例中? – 2013-03-08 14:19:37
好吧,你把代碼放在一個函數中,讓它叫做pad,然後調用'seconds = pad(seconds);'。如果你還沒有試圖整合代碼,你怎麼能聲稱它不起作用? – 2013-03-08 14:23:15