JS实现货币数据格式化的方法

236 阅读1分钟

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, ',');
}