vue.js filters过滤器
用法:
html:
{{data | NumFormat}}
方法:
filters: {
NumFormat: function(value) {
if (!value) return “–”;
var intPart = parseInt(Number(value)); //获取整数部分
var intPartFormat = intPart
.toString()
.replace(/(\d)(?=(?:\d{3})+$)/g, “$1,”); //将整数部分逢三一断
var floatPart = “.00”; //预定义小数部分
var value2Array = value.split(".");
//=2表示数据有小数位
if (value2Array.length == 2) {
floatPart = value2Array[1].toString(); //拿到小数部分
if (floatPart.length == 1) {
//补0,实际上用不着
return intPartFormat + “.” + floatPart + “0”;
} else {
return intPartFormat + “.” + floatPart;
}
} else {
return intPartFormat + floatPart;
}
}
},
特别说明一下:
var intPart = parseInt(Number(value)); //获取整数部分
推荐使用上面的方法取整数部分,
var intPart = Number(value).toFixed(0); //获取整数部分
这个取整不是不可以 ,但是当第一个小数为是大于4的数字时,会四舍五入,导致最终浮点数大小+1
代码原出不可考查,若有雷同,请见谅