// main.js
Vue.filter('NumFormat', function(value) {
if(!value) return '0.00';
/*原来用的是Number(value).toFixed(0),这样取整时有问题,例如0.51取整之后为1,感谢Nils指正*/
var intPart = Number(value)|0; //获取整数部分
var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //将整数部分逢三一断
var floatPart = ".00"; //预定义小数部分
// console.log(888,value)
// console.log(888,typeof(value))
var value2Array = value.toString().split(".");
var isNegtiveNo = ''
if(intPartFormat == 0){
if(value.toString().indexOf('-') != 1) isNegtiveNo = '-' //修复小于0负数丢失的问题
}
//=2表示数据有小数位
if(value2Array.length == 2) {
floatPart = value2Array[1].toString(); //拿到小数部分
if(floatPart.length == 1) { //补0,实际上用不着
return isNegtiveNo + intPartFormat + "." + floatPart + '0';
} else {
return isNegtiveNo + intPartFormat + "." + floatPart;
}
} else {
return isNegtiveNo + intPartFormat + floatPart;
}
})
使用
{{transAmount|NumFormat}}