Open dongyuanxin opened 5 years ago
export const addSeparator = (str = '', sep = ',') => {
str += '';
const arr = str.split('.'),
reg = /(?=((?!\b)\d{3})+$)/g
let integer = arr[0],
decimal = arr.length > 1 ? arr[0] : '';
integer = integer.replace(reg, sep);
return integer + decimal;
}
@zhou-xin-undefined
测试用例中 -10000.23
的输出有问题。
哇
大佬
const addSeparator = (str = '', sep = ',') => {
str += '';
const arr = str.split('.'),
reg = /(?=((?!\b)\d{3})+$)/g
let integer = arr[0],
decimal = arr.length <= 1 ? '' : `.${arr[1]}`;
integer = integer.replace(reg, sep);
return integer + decimal;
}
console.log(addSeparator(-10000.23)); // -10,000.23
console.log(addSeparator(100)); // 100
console.log(addSeparator(1234, ";")); // 1;234
上面那段代码逻辑写错了,小数位的值取错了。
正则表达式:https://xin-tan.com/passages/2019-03-21-js-re/