今天记录一个与数字相关的处理方法:按零补位
/**
* 按0补位
* @param data 需要被处理的数字
* @param n 位数
*/
const ZeroPadded = (data, n) => {
const pad = function(){
let tbl = [];
return (data, n) => {
if(Number(data) === 0) return '';
let newData = data.toString();
let str = '';
for(let i = 0; i < newData.length; i++){
if(newData[i] !== '0'){
str = newData.substr(i);
break;
}
}
let len = n - str.length;
if(len <= 0) return str;
if (!tbl[len]) tbl[len] = (new Array(len+1)).join('0');
return tbl[len] + str;
}
}()
return pad(data, n)
}
/**
* 使用方法如下
*/
ZeroPadded('100',6);
// 返回 '000100'