js精度计算问题(减法,真实bug)

今天写计算的时候,出现的bug

后面补救了一下。

accSub = (num1, num2) => {
    let r1;
    let r2;
    try {
      r1 = num1.toString().split('.')[1].length;
    } catch (e) {
      r1 = 0;
    }
    try {
      r2 = num2.toString().split('.')[1].length;
    } catch (e) {
      r2 = 0;
    }
    const m = Math.pow(10, Math.max(r1, r2));
    const n = (r1 >= r2) ? r1 : r2;
    return (Math.round(num1 * m - num2 * m) / m).toFixed(n);
  }

调用的地方

const aaa = this.accSub(a, b);  // 输入值a=1   原本的值b=1.1 

结果

猜你喜欢

转载自blog.csdn.net/qq_42549337/article/details/82959527