金额格式化,千分位以逗号隔开

功能:金额千位以逗号分隔,保留固定的小数位

/**

\* @desc 向金额添加逗号分隔符

\* @func addComma

\* @static

\* @param {Number} money 传入的金额

\* @param {Number} wei 保留几位小数,默认两位

\* @returns {string} 转换后的金额字符串

\* @example var money = '32,647.12'; //含 , 号的金额字符串

*/

方法一:

export const addComma = function (money,wei=2) {

  if(money){

​    money =money.toFixed(wei)

​    let [integer, decimal] = String.prototype.split.call(money, '.')

​    integer = (integer || 0).toString()

​    let result = ''

​    while (integer.length > 3) {

​    result = ',' + integer.slice(-3) + result

​    integer = integer.slice(0, integer.length - 3)

​    }

​    if (integer) {

​    result = integer + result

​    }

​    return `${result}${decimal ? '.' + decimal : ''}`

   }else{

​    return '0.00'

   }

};

方法2:正则

addComma(money,wei=2){

num = parseFloat(Number(num).toFixed(wei))
let [integer, decimal] = String.prototype.split.call(num, '.')
integer = integer.replace(/\d(?=(\d{3})+$)/g, '$&,') // 正则先行断言
return `${integer}${decimal ? '.' + decimal : ''}`

}
posted @ 2021-05-24 20:07  sunshineG  阅读(504)  评论(0编辑  收藏  举报