有时后台取出来value,需要统一做个处理,可以使用filter,
方法一、定义为本页面filter
1、页面定义filter,这个filter是截取两位小数
onLoad(options){
},
filters:{
formatPrice(data){
if(typeof(data)==="number"){
return parseFloat(data).toFixed(2);
}
return 0.00;
}
},
methods: {
}
2、页面使用
{{ goodsItem.price | formatPrice }}
方法二、定义为全局filter
1、main.js 定义filter,方便全局调用
这个filter是处理金额两位小数,并在多位数时添加逗号(效果 123,456,789.12 )
Vue.filter('money', function (value) {
if (!value) return '0.00';
var value = value.toFixed(2);//提前保留两位小数
var intPart = Number(value).toFixed(0); // 获取整数部分
var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); // 将整数部分逢三一断 ???
var floatPart = '.00'; // 预定义小数部分
value = value.toString();//将number类型转为字符串类型,方便操作
var value2Array = value.split('.');
if (value2Array.length === 2) { // =2表示数据有小数位
floatPart = value2Array[1].toString(); // 拿到小数部分
if (floatPart.length === 1) { // 补0,实际上用不着
return intPartFormat + '.' + floatPart + '0';
} else {
return intPartFormat + '.' + floatPart;
}
} else {
return intPartFormat + floatPart;
}
})
2 页面使用
{{this.orderSum | money}}