将数值以每3位用逗号隔开展示,如 price : 67892654.98处理展示为 price : 67,892,654.98。
思路:
- 将目标数值分为整数部分和小数部分
- 将整数部分分割成 每位数即为一个元素的 数组
- 将数组翻转,将个位数放在数组的最首位
- 遍历数组,将索引为3的倍数的元素后加逗号','
- 将数组翻转为正常数值的顺序,在拼接成字符串,获得新的数值
- 目标数值若有小数部分则将小数部分拼接在新的数值的后面
js实现:
function splitValueWithComma(value){
if(!value) return false
let integer // 整数部分
let decimals // 小数部分
if(String(value).indexOf('.')!==1){
//包含小数部分
integer = String(value).split('.')[0] // 整数部分
decimals =String(value).split('.')[1] // 小数部分
}
let valueArr = String(integer||price).split('').reverse()
let newValue = valueArr.map((item,index)=>{
if(index&&index%3===0){
item=item+','
}
return item
}).reverse().join('')
return decimals?newValue +'.'+decimals:newValue