此篇博文解决的是类似这样的问题:12.64-0.35=12.90000000000001 正常应该是12.29
直接上代码 arg2是被减的数
calculate(arg1, arg2) {
var re1, re2, m, n;
try {
re1 = arg1.toString().split(".")[1].length;
} catch (e) {
re1 = 0;
}
try {
re2 = arg2.toString().split(".")[1].length;
} catch (e) {
re2 = 0;
}
m = Math.pow(10, Math.max(re1, re2));
n = re1 >= re2 ? re1 : re2;
return ((arg1 * m - arg2 * m) / m).toFixed(n);
},
可以直接这样调用函数赋值
this.price = this.calculate(charge, user)
也可以这样用
{
{calculate(charge, user)}}
总结:具体原理我也忘了 之前上个项目遇到过并且用这个方法解决了 这个项目又遇到这个问题也是从上个项目贴过来的 想知道原理的百度一下吧 我也懒的讲了 主要是太菜了