// 1. 使用正则表达式只判断整数
const reg = /(\d)(?=(\d{3})+$)/g;
// 使用String()把数字转换为字符串,可以在null等情况下不报错
// 但是这种方法支持整数,不支持小数
console.log(String(123456789).replace(reg, "$1,")); // 123,456,789
console.log(String(123456789.1593434).replace(reg, "$1,")); // 123456789.1,593,434
console.log(String(null).replace(reg, "$1,")); // null
console.log(String(undefined).replace(reg, "$1,")); // undefined
console.log(String(NaN).replace(reg, "$1,")); // NaN
// 2. 使用正则表达式,toFixed(n)方法四舍五入保留n位小数
const reg = /(\d)(?=(\d{3})+\.)/g;
// 但是这种方法在null或undefined下报错
// 这里示范保留两位小数的
console.log((123456789).toFixed(2).replace(reg, '$1,')); // 123,456,789.00
console.log((123456789.1533434).replace(reg, "$1,")); // 123,456,789.15
// 3. 使用toLocaleString()方法
// 必须是数字,null或undefined会报错
console.log((123456789).toLocaleString()); // 123,456,789
// 最多保留三位小数
console.log((123456789.1533434).toLocaleString()); // 123,456,789.153