vue实现数字加逗号分隔
作者:Juliet_xmj
在Vue项目中,对数字进行格式化,实现带小数的数字三位一分隔的效果,可以通过自定义过滤器来实现,使用JavaScript的toLocaleString方法可以方便地将数字转换成带逗号的格式
vue数字加逗号分隔
带小数的数字三位一分隔
filters: { num: (val, fix = 2) => { if (val !== 0) { val = Number(val) // 字符串转为数字,目标数据为数字可不转 val = '' + val.toFixed(2) // 保留两位小数并转为字符串 let int = val.slice(0, fix * -1 - 1) // 获取整数 let ext = val.slice(fix * -1 - 1) // 获取到小数 int = int.split('').reverse().join('') // 翻转整数 let temp = '' // 临时变量 for (let i = 0; i < int.length; i++) { temp += int[i] if ((i + 1) % 3 === 0 && i !== int.length - 1) { temp += ',' // 每隔3个数字拼接一个逗号 } } temp = temp.split('').reverse().join('') // 加完逗号之后翻转 temp = temp + ext // 整数小数拼接 return temp // 返回 } else { return val } } }
整数三位一分隔
filters: { num: (val) => { val = '' + val // 转换成字符串 let int = val int = int.split('').reverse().join('') // 翻转整数 let temp = '' // 临时变量 for (let i = 0; i < int.length; i++) { temp += int[i] if ((i + 1) % 3 === 0 && i !== int.length - 1) { temp += ',' // 每隔三个数字拼接一个逗号 } } temp = temp.split('').reverse().join('') // 加完逗号之后翻转 return temp // 返回 } }
使用
{{name | num}}
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。