1. 在公共文件夹中创建 toMoney.js文件,编写指令代码
toMoney.js 代码:
export function toMoney(number, decimals = 2, dec_point, thousands_sep) {
/*
* 参数说明:
* number:要格式化的数字
* decimals:保留几位小数
* dec_point:小数点符号
* thousands_sep:千分位符号
* */
number = (number + '').replace(/[^0-9+-Ee.]/g, '')
var n = !isFinite(+number) ? 0 : +number,
prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
sep = typeof thousands_sep === 'undefined' ? ',' : thousands_sep,
dec = typeof dec_point === 'undefined' ? '.' : dec_point,
s = '',
toFixedFix = function (n, prec) {
var k = Math.pow(10, prec)
return '' + Math.ceil(n * k) / k
}
s = (prec ? n.toFixed(prec) : '' + Math.round(n)).split('.')
var re = /(-?\d+)(\d{3})/
// toFixedFix(n, prec)
// n.toFixed(prec)
while (re.test(s[0])) {
s[0] = s[0].replace(re, '$1' + sep + '$2')
}
if ((s[1] || '').length < prec) {
s[1] = s[1] || ''
s[1] += new Array(prec - s[1].length + 1).join('0')
}
return s.join(dec)
}
2.在mian.js文件中进行引入,并绑定指令
import { toMoney } '@/common/toMoney.js'
Vue.filter('toMoney', toMoney)
3. 使用指令和方法使用
1. 指令使用
<div>{{ 500000 | toMoney }}</div> //页面展示的格式为 5,000.00
2. 方法使用
import { toMoney } '@/common/toMoney.js'
console.log(toMoney(1000000)) // 10,000.00