// 解决精度问题 大概得想法就是乘以 小数位+1的十倍 最后再除回来
// 为什么不直接小数位的十倍 因为我发现好像有的两位小数乘100 同样存在精度问题
add(num1, num2) {
let n1, n2, m;
try {
n1 = num1.toString().split('.')[1].length;
} catch (e) {
n1 = 0;
}
try {
n2 = num2.toString().split('.')[1].length;
} catch (e) {
n2 = 0;
}
// eslint-disable-next-line prefer-const
m = Math.pow(10, Math.max(n1, n2) + 1);
return (num1 * m + num2 * m) / m;
},
精度问题简单处理
最新推荐文章于 2024-07-24 23:00:08 发布