//正则
// 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