思路:
- 如果字符串不满足除以
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))
网友评论