正常数字 : 12345678
货币格式 : 12,345,678.00
可以看出转换的要求:
1.保留两位小数;
2.千,百万,十亿...每隔三位加个逗号
FM (money) {
// 首先处理小数位数,保留两位小数
money = money.toFixed(2)
// 取出小数部分
const float = ('' + money).split('.')[1]
// 取出整数部分
const int = ('' + money).split('.')[0]
// 处理整数部分,再合适位置添加逗号
// 首先处理需要添加几个逗号的问题
const newM = int.split('').reverse()
const count = Math.floor(newM.length / 3)
for (let i = 0; i < count; i++) {
// 因为我们往数组里添加元素后,数组会变长,所以,第一次和后面添加逗号的时机不同
if (i === 0) {
newM.splice(3, 0, ',')
} else {
newM.splice((3 + i * 4), 0, ',')
}
}
const newMoney = newM.reverse().join('') + '.' + float
return newMoney
},