SOURCE

//正则
// function formatNumber(num){
//     num = num.toString()
//   let reg = num.indexOf('.') > -1 ? /(\d)(?=(\d{3})+\.)/g : /(\d)(?=(\d{3})+$)/g
//   return num.replace(reg, '$1,')

// }
// console.log(formatNumber(1234.5678) )// "1,234.5678"
// formatNumber(1234); // "1,234"

//第二种
// function formatNumberWithCommas(number){
//     if(typeof number !== 'number'){
//         return ''
//     };
//     //转换成字符串
//     number += '';
//     //分开小数
//     let [integer,decimal] = number.split('.');
//     const doSplit = (num,isInteger = true) => {
//         // 如果为空,直接返回
//         if(num === '') return '';
//         // 如果是整数部分  先按位切割再返转
//         // 整数部分数字从右往左数,每3位插入一个逗号
//         // 小数部分从左往右数
//         // 两次反转,它的逗号顺序是一样的。
//         if(isInteger) num = num.split('').reverse();
        
//         let str = [];
//         for(let i = 0; i < num.length; i++){
//             if(i !== 0 && i % 3 === 0) str.push(',');
//             str.push(num[i]);
//         }
//         console.log(str);
//         if(isInteger) return str.reverse().join('');
//         return str.join('');
//     };
//     integer = doSplit(integer);
//     decimal = doSplit(decimal,false);
//     return integer + (decimal === '' ? '' : '.' + decimal);
// }
function formatNumberWithCommas(number){
    if(typeof number !== 'number') return '';
    number +='';
    let [integer, decimal] = number.split('.');
    console.log(decimal);
    function doSplit(num, isInteger = true){
        if(num === '') return '';
        if(isInteger) num = num.split('').reverse();
        let str = [];
        for(let i =0;i<num.length;i++){
            if(i !==0 && i%3===0){
                str.push(',');
            }
            str.push(num[i])
        }
        console.log('22',str);
        if(isInteger) return str.reverse().join('');
        return str.join('')
    }
    integer = doSplit(integer);
    decimal = doSplit(decimal,false);
    console.log('333',decimal)
    return decimal === '' ? integer : integer+'.'+decimal
}
console.log(formatNumberWithCommas(1234.5678))
console 命令行工具 X clear

                    
>
console