// 金额千分位(保留两位小数)
// 用法: {{todaymoney|formatMoney}}
export const FormatMoney = (value) => {
if (!value) return '0.00';
var intPart = Number(value) | 0; //获取整数部分
let splitNums = parseFloat(value).toFixed(2).split('.');
var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //将整数部分每三位加一个逗号
var floatPart = ".00"; //预定义小数部分
if (typeof value !== 'string') {
value = value.toString();
}
if (value == 0) {
value = 0.00
}
var value2Array = value.split(".");
//=2表示数据有小数位
console.log(value2Array);
if (value2Array.length == 2) {
floatPart = value2Array[1].toString(); //拿到小数部分
if (floatPart.length > 2) { //若小数位数在两位以上,则四舍五入保留两位小数
return intPartFormat + "." + splitNums[1];
} else if (floatPart.length == 1) { //若小数位数只有一位,补0
return intPartFormat + "." + floatPart + '0';
} else {
return intPartFormat + "." + floatPart;
}
} else { //数据为整数
return intPartFormat + floatPart;
}
}
main.js里
import { FormatMoney, FormatNum } from "@/utils/filter";
Vue.filter('FormatMoney', FormatMoney)
Vue.filter('FormatNum', FormatNum)
Vue.prototype.FormatMoney = FormatMoney
页面引用
<template slot-scope="scope">
{{scope.row.incomeBalance|FormatMoney}}
</template>
{
label: "费用",
prop: "weAmt",
visible: true,
format: (col) => this.FormatMoney(col.row.westernMedicineAmt),
},