千分符三种方式

176 阅读1分钟
//千分符正则
let str1 = '10000000000000';
//定义一个数字
let num = 0;
//定义一个空字符串
let temp = ''
//反向循环
for(let i = str1.length-1;i >= 0;i--){
    //当长度减去加上的逗号的个数不等于3时继续循环,等于3时加逗号
    if((temp.length-num)%3){
        temp += str1[i]
    }else{
        temp += ',' + str1[i];
        num++
    }
}
console.log(temp)
temp = temp.substring(1)
temp = temp.split('').reverse().join('')
console.log(temp) // 10,000,000,000,000

//正则加千分符
let a = /(\d)(?=(\d{3})+$)/g
// 字符串`$1,`中的$1会自动匹配第一个分组
let s1 = str1.replace(a,`$1,`)
console.log(s1) // 10,000,000,000,000


let s = str1.replace(a,($0,$1,$2) => {
    // console.log($2)
    return $1+','
})
console.log(s) // 10,000,000,000,000