js数字转成金额格式

本文有以下三个段落

1.方法展示

2.方法说明

3.方法实例


1.方法展示

//将数字转换成金额显示
function toMoney(num){
    if(num){
        if(isNaN(num)) {
            alert("金额中含有不能识别的字符");
            return;
        }
        num = typeof num == "string"?parseFloat(num):num//判断是否是字符串如果是字符串转成数字
        num = num.toFixed(2);//保留两位
        num = parseFloat(num);//转成数字
        num = num.toLocaleString();//转成金额显示模式
        //判断是否有小数
        if(num.indexOf(".")==-1){
            num = "¥"+num+".00";
        }else{
            num = num.split(".")[1].length<2?"¥"+num+"0":"¥"+num;
        }
        return num;//返回的是字符串23,245.12保留2位小数
    }else{
        return num = null;
    }
}

2.方法说明

num = num.toFixed(2);将数字转成带有2位小数的字符串

num = parseFloat(num)将带有2位小数的字符串转成带有小数的数字

num = num.toLocaleString();将带有2位小数的数字转成金额格式

3.方法实例

let num = 5262456.2158;
num = toMoney(num);
console.log(num);//打印结果    5,262,456.22


//将数字转换成金额显示
function toMoney(num){
    if(num){
        if(isNaN(num)) {
            alert("金额中含有不能识别的字符");
            return;
        }
        num = typeof num == "string"?parseFloat(num):num//判断是否是字符串如果是字符串转成数字
        num = num.toFixed(2);//保留两位
        num = parseFloat(num);//转成数字
        num = num.toLocaleString();//转成金额显示模式
        //判断是否有小数
        if(num.indexOf(".")==-1){
            num = "¥"+num+".00";
        }else{
            num = num.split(".")[1].length<2?"¥"+num+"0":"¥"+num;
        }
        return num;//返回的是字符串23,245.12保留2位小数
    }else{
        return num = null;
    }
}

你可能感兴趣的:(js数字转成金额格式)