1.首先写一个格式化函数
位置可以放在src/libs/utils.js里面
具体函数实现如下:
// 金额格式化
// s表示长串,n表示小数点后有几位
util.formatMoney = function (s, n) {
if (s) {
n = n >= 0 && n <= 20 ? n : 2;
s = parseFloat((s + '').replace(/[^\d\.-]/g, '')).toFixed(n) + '';
let l = s.split('.')[0].split('').reverse();
let r = s.split('.')[1];
let t = '';
for (let i = 0; i < l.length; i++) {
t += l[i] + ((i + 1) % 3 === 0 && (i + 1) !== l.length ? ',' : '');
}
if (r !== undefined) {
return t.split('').reverse().join('') + '.' + r;
}
return t.split('').reverse().join('');
} else {
return '';
}
};
2.将这个js引入要使用到的vue文件里面
例如: import utils from '../../../libs/util'
两种应用:
第一种运用在table中,使用render函数,
// 数量一般为整数,如果是单价的话,小数点后一般是2位
render: (h, params) => {
return h('span', utils.formatMoney(params.row.goodsNumber, 0));
}
第二种是直接使用
utils.formatMoney(unitPrice, 2);