实现数字的千分位,表示,

 重点如下

  1. 区分是否是负数
  2. 区分是否有小数点
  3. 使用正则表达式
  4. \B 是指非单词边界
  5. ?= 是正向查找
  6. ?! 是负向查找
  7. + 代表有一个或者多个
  8. () 是分组
  9. g 代表全局匹配
function splitStr(num) {
    // 转化成字符串
    let numStr = `${num}`
    let isNegative = false
    if (numStr.startsWith('-')) {
        isNegative = true
        numStr = numStr.slice(1)
    }
    const parts = numStr.split('.')
    let integerPart = parts[0]
    let decimalPart = parts[1] || ''
    integerPart = integerPart.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
    let result = integerPart
    if (decimalPart) {
        result = integerPart + '.' + decimalPart
    }
    if (isNegative) {
        result = `-` + result
    }
    return result
}

const num = 12323.333
const reuslt = splitStr(num)
console.log(reuslt)

你可能感兴趣的:(javascript,前端,vue.js)