开发中有时我们要将数字10000000转换成10,000,000的格式显示,这时我们可以用下面的代码来实现
let DIGIT_PATTERN = /(^|\s)\d+(?=\.?\d*($|\s))/g
let MILI_PATTERN = /(?=(?!\b)(\d{3})+\.?\b)/g
return num.toString().replace(DIGIT_PATTERN, (m) => m.replace(MILI_PATTERN, ','))
写成函数如下:
function splitThousandSeparator(num:number):string{
let prefix:string="";
if(num<0){
num *= -1;
prefix = "-";
}
let DIGIT_PATTERN = /(^|\s)\d+(?=\.?\d*($|\s))/g;
let MILI_PATTERN = /(?=(?!\b)(\d{3})+\.?\b)/g;
let str:string = num.toString().replace(DIGIT_PATTERN, (m) => m.replace(MILI_PATTERN, ','));
return prefix+str;
}