JS实现货币数据格式化的方法
方法1: 使用toLocaleString方法来实现货币数据格式化
/** * 货币数值格式化(首选) * num: 数值 */
function format_money(num){
return parseFloat(num).toLocaleString();
}
方法2:
/**
* 货币数值格式化
* num: 数值
* type: 1整数 2浮点数 (必传)
*/
function format_money2(num, type){
let integer // 整数部分
let decimals // 小数部分
let length
let remainder
num = type==1 ? parseInt(num).toString() : parseFloat(num).toString();
if(num.indexOf(".")>-1){
integer = num.substr(0, num.indexOf("."));
decimals = num.substr(num.indexOf(".")); // 小数部分
} else {
integer = num;
decimals = "";
}
length = integer.length;
if(length < 3) return integer + decimals;
remainder = length % 3;
integer = remainder>0 ? integer.slice(0, remainder) +","+ integer.slice(remainder, length).match(/\d{3}/g).join(',') : integer.slice(remainder, length).match(/\d{3}/g).join(',');
return integer + decimals;
}
方法3:正则格式化货币
function formatMoney(m){
// 必须转化成字符串, 字符串才有replace方法
return String(m).replace(/\B(?=(\d{3})+(?!\d))/g, ',');
}