因为数字有小数,所以写了了一个针对整数和小数的算法。
function splitNumComma(val) {
let num = val.toString(); //把数字转化为字符串
let stringArr = [];
if (num.indexOf(".") !== -1) { //判断是否是小数
stringArr = num.split("."); //若是小数,将字符串以.分割成数组
} else {
stringArr.push(val);
}
let stringNum = stringArr[0]?.toString();
let counter = 0;
let wanNum = "";
for (let i = stringNum.length - 1; i >= 0; i--) {
counter++;
wanNum = stringNum.charAt(i) + wanNum;
if (!(counter % 3) && i != 0) {
wanNum = "," + wanNum;
}
}
if (stringArr[1] !== undefined) { //如果是小数
wanNum = wanNum + "." + String(stringArr[1]);
}
return wanNum;
}
不过我觉得我写的还是稍微有点儿冗长,可以改进一下。