JS对金额的处理(保留两位小数位, 每隔三位添加‘,’)

 function Money(value, num) {
        num = num > 0 && num <= 20 ? num : 2;
        value = parseFloat((value + "").replace(/[^\d\.-]/g, "")).toFixed(num) + ""; //将金额转成比如 123.45的字符串
        var valueArr = value.split(".")[0].split("").reverse() //将字符串的数变成数组
        const valueFloat = value.split(".")[1]; // 取到 小数点后的值
        let valueString = "";
        for (let i = 0; i < valueArr.length; i++) {
            valueString += valueArr[i] + ((i + 1) % 3 == 0 && (i + 1) != valueArr.length ? "," : ""); //循环 取数值并在每三位加个','
        }
        const money = valueString.split("").reverse().join("") + "." + valueFloat; //拼接上小数位
        return money
    }

Money(value,num)的第一位value是必传的,第二位num是选填的 不填是保留两位小数

posted @ 2020-05-26 16:47  大尹  阅读(1396)  评论(0编辑  收藏  举报