给字符串加千位符

2018-09-28  本文已影响0人  小小的白菜

通过正则高效实现千位符(一行代码你敢信?)

思路:

const readableNumber = function(number) {
    if(!Number(number)) {
      throw TypeError('arugment must be number or can be transfer into number');
    }
    let numberStr = '' + number,
        len = numberStr.length
    // 第一步:最高位不足3的情况,用0补上
    switch(len % 3) {
      case 1: numberStr = '00' + numberStr; break;
      case 2: numberStr = '0' + numberStr; break;
    }
    // 第二步:每隔三个数字添加一个",",并将头部多于的0和尾部多于的","去掉
    return numberStr.replace(/(\d{3})/g, '$1,').replace(/(^0+)/g, '');
  }
  console.log(readableNumber(112366888888))
上一篇下一篇

猜你喜欢

热点阅读