前言
眾所周知JavaScript中的數(shù)字是沒(méi)有前置0的,因此需要我們自己進(jìn)行操作來(lái)添加前置0,而且還得轉(zhuǎn)換成字符串。
假如生成一個(gè)是一共是4位的有前置0的數(shù)據(jù),通常我們能想到的方法是這樣子的:
function addPreZero(num){ if(num<10){ return '000'+num; }else if(num<100){ return '00'+num; }else if(num<1000){ return '0'+num; }else{ return num; }}這種方式的思路比較簡(jiǎn)單,根據(jù)當(dāng)前數(shù)據(jù)的位數(shù)來(lái)補(bǔ)充相應(yīng)個(gè)數(shù)的前置0;不過(guò)這樣的算法寫(xiě)起來(lái)比較麻煩,如果需要的前置0非常多的話(huà),那么得寫(xiě)很多的if...else。
還是基于這種思路,我們可以先算出這個(gè)數(shù)字有多少位,然后直接補(bǔ)上相應(yīng)的0就行了:
function addPreZero(num){ var t = (num+'').length, s = ''; for(var i=0; i<4-t; i++){ s += '0'; } return s+num;}這種方式的實(shí)現(xiàn),是根據(jù)當(dāng)前num的位數(shù),來(lái)計(jì)算出所有的前置0,然后再拼接上num。
在這個(gè)基礎(chǔ)上,我們還可以這樣考慮:比如需要一共是10位的有前置0的數(shù)據(jù),那么首先不管當(dāng)前數(shù)字是多少位的,都先補(bǔ)上9個(gè)前置0,然后再截取這個(gè)字符串最后的10位,那么獲取到的就是需要的數(shù)據(jù):
function addPreZero(num){ return ('000000000'+num).slice(-10);}總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,實(shí)現(xiàn)想要的結(jié)果很多的方法,我們應(yīng)該盡可能的想出更多的方法,一方面能夠拓展我們的思維,另一方面也能讓我們選擇出更好的方式。希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注