思路:
- 如果字符串不满足除以
3取整的话,我们就需要做判断,加0使其满足string.length % 3 === 0; - 用正则每
3个字符就添加,,将一开始可能会加的0去除并且返回。
const readableNumber = function(number) {
if(!Number(number)) {
throw TypeError('arugment must be number or can be transfer into number');
}
let numberStr = '' + number,
len = numberStr.length
// 第一步:最高位不足3的情况,用0补上
switch(len % 3) {
case 1: numberStr = '00' + numberStr; break;
case 2: numberStr = '0' + numberStr; break;
}
// 第二步:每隔三个数字添加一个",",并将头部多于的0和尾部多于的","去掉
return numberStr.replace(/(\d{3})/g, '$1,').replace(/(^0+)/g, '');
}
console.log(readableNumber(112366888888))










网友评论