简介
金额显示时,有的会习惯于千位进行间隔,如美元。
具体实现
s代表金额,n代表要保存到第多少小数位,默认为0(即整数)。
formatMoney(s, n) {
if (!s) {
return ''
}
if (n) {
n = n > 0 && n <= 20 ? n : 2
} else {
n = 0
}
// eslint-disable-next-line no-useless-escape
s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + ''
let l = s
.split('.')[0]
.split('')
.reverse()
let r = s.split('.')[1]
let t = ''
for (let i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 === 0 && i + 1 !== l.length ? ',' : '')
}
return (
t
.split('')
.reverse()
.join('') + (r ? '.' + r : '')
)
}
最后
觉得有用的朋友请用你的金手指点一下赞,或者评论留言一起探讨技术!