Fe-interview: [js] 第361天 写一个方法,当给定数字位数不足8位时,则在左边补充0以补足8位数的方法

Created on 10 Apr 2020  ·  5Comments  ·  Source: haizlin/fe-interview

第361天 写一个方法,当给定数字位数不足8位时,则在左边补充0以补足8位数的方法

我也要出题

js

Most helpful comment

const n = 900
const nStr = n.toString().padStart(8,'0')
const nstr = ('' + n).padStart(8,'0') // faster than toString

All 5 comments

function handleValue(num){ let len = String(num).length; if(len<8){ num = '0' + num; handleValue(num) }else{ console.log(num); } } handleValue(33)

const n = 900
const nStr = n.toString().padStart(8,'0')
const nstr = ('' + n).padStart(8,'0') // faster than toString
function padNumber(n, targetLen, placeholder) {
  const arr = ("" + n).split("");
  const diff = arr.length - targetLen;
  if (diff < 0) {
    return Array(0 - diff)
      .fill(placeholder, 0, 0 - diff + 1)
      .concat(arr)
      .join("");
  } else {
    return arr.join("");
  }
}
console.log(padNumber(3458, 8, "0")); //'00003458'
console.log(padNumber(90990, 3, "-")); //'90990'

```js
function replenish(num){
let length = num.toString().length;
if(length < 8){
num = '0'+ num;
return replenish(num)
}
return num
}

function padNumber(num){
  var arr = num.split(".");  // 兼容小数
  var integer = ("00000000" + arr[0]).substr(-8);
  var res = arr[1] ? [integer, arr[1]] : [integer];
  return res.join(".")
}
Was this page helpful?
0 / 5 - 0 ratings