手写系列之千位分隔符 - 图1


不同的方式实现千位分隔符,日常用的

方案1

  1. const separator = (str) => {
  2. str += ''
  3. const target = str
  4. // 1. 如果值 <= 3的话 直接返回
  5. if (str.length <= 3) return str
  6. // 2. 进行字符串反转
  7. str = str.split('').reverse().join('')
  8. const sums = []
  9. // 3. 通过replace 来获取最后满足三位的值
  10. str.replace(/[0-9]{3}/gi, function (e) {
  11. sums.push(e)
  12. })
  13. // 4. 将剩余的值直接添加进来
  14. sums.unshift(target.slice(0, str.length % 3))
  15. return sums.join(',')
  16. }

方案2

  1. var a = 1234567894532
  2. var b = 673439.4542
  3. console.log(a.toLocaleString('en-IN')) // 使用语言特定的函数来实现
  4. console.log(b.toLocaleString('en-IN'))