天天看點

js 技巧之數字前補零

/**
*   num為你想要進行填充的數字
*   length為你想要的數字長度
*/

//疊代方式實作
padding1=(num, length)=> {
  for(let len = (num + "").length; len < length; len = num.length) {
      num = "0" + num;            
  }
  return num;
}

//遞歸方式實作
padding2=(num, length) =>{
  if((num + "").length >= length) {
      return num;
  }
  return padding2("0" + num, length)
}

//轉為小數
padding3=(num, length)=> {
  let decimal = num / Math.pow(10, length);
  //toFixed指定保留幾位小數
  decimal = decimal.toFixed(length) + "";
  return decimal.substr(decimal.indexOf(".")+1);
}

//填充截取法
padding4=(num, length)=> {
  //這裡用slice和substr均可
  return (Array(length).join("0") + num).slice(-length);
}

//填充截取法
padding5=(num, length)=> {
  let len = (num + "").length;
  let diff = length+1 - len;
  if(diff > 0) {
      return Array(diff).join("0") + num;
  }
  return num;
}           

繼續閱讀