通过 String 的 replace 方法以及正则实现。
replace 方法支持两个参数:匹配模式字符串、替换文本或生成替换文本的函数
const numHandle_thousand = function (num) {
// 无效为空等
if (!num) {
return 0;
}
let res = num.toString().replace(/\d+/, function (n) { // 先提取整数部分
return n.replace(/(\d)(?=(\d{3})+$)/g, function ($1) {
return $1 + ",";
});
})
return res;
}
首先通过 /\d+/ 正则提取整数部分,后接函数对整数部分进行处理;
/(\d)(?=(\d{3})+$)/g 正则 将提取的整数部分进行三位一个分割后接千位分隔符号。