近期用到小数点保留两位 使用toFixed() 发现不太精确
例如10.125 保留两位后 为10.13
但使用 var num = 10.125; num.toFixed(2) 返回的结果为10.12 经测试发现大于5会进1 等于5并不会进1
解决办法 写个公共方法 需要时候 调用即可
示例:
根据自己需要酌情处理:我是写在main.js中,仅供参考:
Vue.prototype.fixed = function (num) {
var times = Math.pow(10, 2);
var des = num * times + 0.5;
des = parseInt(des, 10) / times;
return des + '';
}
在页面如何调用呢?
HTML中直接fixed方法调用即可:
<el-table-column prop="price" label="单价" width="150">
<template slot-scope="scope">
<span>{{ fixed(scope.row.price * 1) }}</span>
</template>
</el-table-column>
js中需要使用this.fixed来调用:
for (let i = 0; i < this.multipleSelection.length; i++) {
allprice +=this.multipleSelection[i].price * this.multipleSelection[i].apply_count;
}
allprice = this.fixed(allprice * 1);