当我们在使用js的小数相乘的时候,容易因为进制问题,遇到相乘结果不是我们想要的。
下面以vue中的方法为例子,请参考一下代码...
//解决小数相乘精度问题的方法
const mul=(arg1, arg2)=>{
let m = 0, s1 = arg1.toString(), s2 = arg2.toString();
try {
m += s1.split(".")[1].length;
}
catch (e) {
}
try {
m += s2.split(".")[1].length;
}
catch (e) {
}
return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
}
如有不明白的可以留言探讨。