js 金钱数字添加千分位分隔符号

输出格式 000,000,000.00

// opt 数值,isZero 是否保留两位小数点
    numSymbol (opt, isZero = true) {
      if (opt) {
        const str = opt + '' // 把数字变成string类型
        if (str.indexOf('.') !== -1) { // 判断是否附带小数
          const intSum = str
            .substring(0, str.indexOf('.'))
            .replace(/\B(?=(?:\d{3})+$)/g, ',') // 取到整数部分
          let dot = str.substring(str.length, str.indexOf('.')) // 取到小数部分搜索
          // 不足2位补0
          if (dot.length === 1) {
            dot = dot + '00'
          } else if (dot.length === 2) {
            dot = dot + '0'
          }
          const ret = intSum + dot
          return ret
        } else {
          const ret = str.replace(/\B(?=(?:\d{3})+$)/g, ',')
          return ret + (isZero ? '.00' : '')
        }
      } else {
        return (isZero ? '0.00' : '0')
      }
    }

在这里插入图片描述