數(shù)字位數(shù)不夠,進行前補零的JS最簡實現(xiàn)方案

1.padStart屬性方法

// JavaScript version of: (unsigned)
// printf "%0*d" width num
function leftFillNum(num, targetLength) {
  return num.toString().padStart(targetLength, "0");
}

const num = 123;
console.log(leftFillNum(num, 5)); // "00123"

2.自定義方法
/**

  • 自定義函數(shù)名:PrefixZero
  • @param num: 被操作數(shù)
  • @param n: 固定的總位數(shù)
    */
    function PrefixZero(num, n) {
    return (Array(n).join(0) + num).slice(-n);
    }
    說明如下:
    Array(5) => 創(chuàng)建了一個長度為5的空數(shù)組
    console.log(Array(5));// [empty × 5]

    Array(5).join(0) => 用0拼接將數(shù)組轉(zhuǎn)換成字符串
    console.log(Array(5).join(0));// 0000

    Array(5).join(0)+38 => 通過+,實現(xiàn)字符串的拼接
    console.log(Array(5).join(0)+38);// 000038

    (Array(5).join(0) + 38).slice(-5) => slice(startIndex,endIndex)方法,用于截取
    參數(shù)說明:
    參數(shù)是起始位置,含頭不含尾,
    只有一個參數(shù)時,表示從該起始位置一直截取到最后。
    參數(shù)值為負數(shù)時,表示從后往前數(shù),如最后一位,索引是-1

如此,.slice(-5)表示截取的是從后往前數(shù)5位一直到最后
console.log((Array(5).join(0) + 38).slice(-5));// 00038

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容