金额格式化 千位加逗号隔开并且保留小数点后两位

// 第一种
// 金额格式化 千位加逗号隔开
    toThousands(money) {
        let allNum = ''
        let tempNum = ''
        let mon = parseFloat((money + '').split('.')[0])
        let mon2 = parseFloat((money + '').split('.')[1])
        let num = (mon || 0).toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,');
        let num2 = ''
        if (mon2) {
            tempNum = parseFloat('0.' + mon2).toFixed(2)
            tempNum = tempNum.slice(1, tempNum.length)
        } else {
            tempNum = '.00'
        }
        allNum = num + tempNum
        return allNum
    },
// 第二种
    formatNum(n) {
            let num = n.toString()
            // 判断是否有小数
            let decimals = ''
            num.indexOf('.') > -1 ? decimals = num.split('.')[1] : decimals
            let len = num.length
            if (len <= 3) {
                return num
            } else {
                let temp = ''
                let remainder = len % 3
                decimals ? temp = '.' + decimals : temp
                if (remainder > 0) { // 不是3的整数倍
                    return num.slice(0, remainder) + ',' + num.slice(remainder, len).match(/\d{3}/g).join(',') + temp
                } else { // 是3的整数倍
                    return num.slice(0, len).match(/\d{3}/g).join(',') + temp
                }
            }
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容