JS实现金额格式化

moneyFormatter = function (money, num) {
/*
* 参数说明:
* money:要格式化的数字
* num:保留几位小数
* */
num = num > 0 && num <= 20 ? num : 2
money = money + ''
var index = money.indexOf('.') + 1
if (index > 1 && money.substring(index, money.length).length > num) {
money = money.substring(0, index + num)
}
money = parseFloat((money + '').replace(/[^\d.-]/g, '')).toFixed(num) + ''
var l = money.split('.')[0].split('').reverse(),
r = money.split('.')[1]
var t = '',
i
for (i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && i + 1 != l.length ? ',' : '')
}
return t.split('').reverse().join('') + '.' + r
}

如果金额有负数,需要判断是否为负数

moneyFormatter = function (money, num) {
/*
* 参数说明:
* money:要格式化的数字
* num:保留几位小数
* */
num = num > 0 && num <= 20 ? num : 2
money = money + ''
var index = money.indexOf('.') + 1
if (index > 1 && money.substring(index, money.length).length > num) {
money = money.substring(0, index + num)
}
money = parseFloat((money + '').replace(/[^\d.-]/g, '')).toFixed(num) + ''
var l
let isNegative = ''
if (money.startsWith('-')) {
// 判断为负数 将负号取出
l = money.split('.')[0].substring(1, money.length).split('').reverse() // 整数部分
isNegative = money.split('.')[0].substring(0, 1) // 负号
} else {
l = money.split('.')[0].split('').reverse()
}
r = money.split('.')[1] // 小数部分
var t = '',
i
for (i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 == 0 && i + 1 != l.length ? ',' : '')
}
return isNegative + t.split('').reverse().join('') + '.' + r
}
posted @   有些东西学不会  阅读(28)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
// 侧边栏目录 // https://blog-static.cnblogs.com/files/douzujun/marvin.nav.my1502.css
点击右上角即可分享
微信分享提示