在使用Vue做开发时,计算入库率需要保留两位小数。 初步思路如下:定义一个过滤器,过滤保留后的两位小数,直接返回。
filters: {
returnFloat(value) {
value = parseFloat(Number(value).toFixed(2))
// 计算值为整数则直接返回,否则是小数
if (value === parseInt(value)){
value = parseInt(value) * 100
return value
} else {
console.log(value * 100)
return value * 100
}
}
}
结果发生了精度丢失问题。
转换思路改下代码如下
filters: {
returnFloat(value) {
if (isNaN(value)){
return 0
} else {
return Math.round(value * 10000) / 100 + '%'
}
}
},