功能:金额千位以逗号分隔,保留固定的小数位
/**
\* @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 : ''}`
}