眾所周知JavaScript中的數(shù)字是沒有前置0的,因此需要我們自己進行操作來添加前置0,而且還得轉換成字符串。
假如生成一個是一共是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; } }
這種方式的思路比較簡單,根據(jù)當前數(shù)據(jù)的位數(shù)來補充相應個數(shù)的前置0;不過這樣的算法寫起來比較麻煩,如果需要的前置0非常多的話,那么得寫很多的if...else。
還是基于這種思路,我們可以先算出這個數(shù)字有多少位,然后直接補上相應的0就行了:
function addPreZero(num){ var t = (num+'').length, s = ''; for(var i=0; i<4-t; i++){ s += '0'; } return s+num; }
這種方式的實現(xiàn),是根據(jù)當前num的位數(shù),來計算出所有的前置0,然后再拼接上num。
在這個基礎上,我們還可以這樣考慮:比如需要一共是10位的有前置0的數(shù)據(jù),那么首先不管當前數(shù)字是多少位的,都先補上9個前置0,然后再截取這個字符串最后的10位,那么獲取到的就是需要的數(shù)據(jù):
function addPreZero(num){ return ('000000000'+num).slice(-10); }
總結
聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com