人民币格式 12,345,678 从后往前每三位数字都用逗号隔开,
思路:先将数字转化为字符串 toString() 或者String() ,再将字符串转化为数组用split() 方法,然后使用 reverse() 方法翻转数组,因为只有翻转数组后我们才好处理,再每隔三个元素插入一个逗号,最后再将数组翻转过来再通过 join() 方法转化为字符串
var num = 12345678
function RMB(num) {
let arr = []
String(num).split("").reverse().forEach((value, index) => {
arr.push(value)
if ((index + 1) % 3 == 0 && index + 1 != String(num).split("").reverse().length) {
arr.push(",")
}
})
return arr.reverse().join("")
}
console.log(RMB(12345678));
在格式化人民币的方法中关键的一点是,每隔三位插入一个逗号,我们需要在循环外新建一个数组,该数组的长度是有临界值的。同时在if判断中,每隔三个数插入一个逗号,当num的长度是3的倍数时最后一个数字后面不应该在需要逗号,否则就会变成 “ ,123,456,789 ”这样的形式,显然不符合格式。