关于数字每隔三位添加一个逗号的算法实现

因为数字有小数,所以写了了一个针对整数和小数的算法。

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;
}

 不过我觉得我写的还是稍微有点儿冗长,可以改进一下。

猜你喜欢

转载自blog.csdn.net/weixin_67033054/article/details/127902973