【代码封装】货币格式化

161 阅读1分钟

1、日元格式化(每三位补充)

注意:日元没有小数点 例如: 1400 => 1,400 200 => 200

方法一

  // 日元格式化
    function yenFormat(num) {
    //判断是否是数值类型
        if (!isNaN(num)) {
            num = num.toString()
            var newNum = "";
            for (var i = num.length - 1; i >= 0; i = i - 3) {
                if (i - 3 < 0)
                    newNum = num.substring(0, i + 1) + newNum;
                else
                    newNum = ',' + num.substring(i - 2, i + 1) + newNum;
            }
            return newNum
        }else{
            return "非数值类型"
        }

    }

方法二

    function yenFormat(num) {
        //判断是否是数值类型
        if (!isNaN(num)) {
            return (Number(num)).toLocaleString('en-US')
        } else {
            return "非数值类型"
        }
    }

2、人民币格式化(小数点+每三位补充)

例如:345566.3454 => 345,566.35 345566.3446 => 345,566.34

方式一

function moneyFormat(num) {
        if (!isNaN(num)) {
            //小数位使用四舍五入
            var cent = (num - parseInt(num)).toFixed(2) * 100
            cent=cent>=10?cent:0+String(cent)
            //获取整数位
            num = (parseInt(num)).toString();
            //每隔三位补充','
            var newNum = "";
            for (var i = num.length - 1; i >= 0; i = i - 3) {
                if (i - 3 < 0)
                    newNum = num.substring(0, i + 1) + newNum;
                else
                    newNum = ',' + num.substring(i - 2, i + 1) + newNum;
            }
            return `${newNum}.${cent}`
        } else {
            return "非数值类型"
        }
    }

方式二

function rmbFormat(num) {

        //判断是否是数值类型
        if (!isNaN(num)) {
            //小数位使用四舍五入
            var cent = (num - parseInt(num)).toFixed(2) * 100
            cent=cent>=10?cent:0+String(cent)
            return Number(parseInt(num)).toLocaleString('en-US')+"."+cent
        } else {
            return "非数值类型"
        }
    }