数字实现千位分隔符

function parseToMoney(num) {
  num = parseFloat(num.toFixed(3));
  let [integer, decimal] = String.prototype.split.call(num, '.');
  integer = integer.replace(/\d(?=(\d{3})+$)/g, '$&,');
  return integer + '.' + (decimal ? decimal : '');
}
或者
function parseToMoney(str){
    // 仅仅对位置进行匹配
    let re = /(?=(?!\b)(\d{3})+$)/g; 
   return str.replace(re,','); 
}

如果有小数点就需要下面这种匹配模式:

'1234567890.012'.replace(/\d(?=(?:\d{3})+\b)/g, '$&,')

你可能感兴趣的:(算法,面试)