美文网首页
Js中带有小数的值相加减的解决方案

Js中带有小数的值相加减的解决方案

作者: mark666 | 来源:发表于2021-05-26 09:51 被阅读0次

相减

subnum(arg1, arg2) {
    var r1, r2, m, n;
    try {
      r1 = arg1.toString().split('.')[1].length;
    } catch (e) {
      r1 = 0;
    }
    try {
      r2 = arg2.toString().split('.')[1].length;
    } catch (e) {
      r2 = 0;
    }
    m = Math.pow(10, Math.max(r1, r2)); 
    n = r1 >= r2 ? r1 : r2;
    return ((arg1 * m - arg2 * m) / m).toFixed(n);
  }

相加

addNum(num1, num2) {
    var sq1, sq2, m;
    try {
      sq1 = num1.toString().split('.')[1].length;
    } catch (e) {
      sq1 = 0;
    }
    try {
      sq2 = num2.toString().split('.')[1].length;
    } catch (e) {
      sq2 = 0;
    }
    m = Math.pow(10, Math.max(sq1, sq2));
    return (num1 * m + num2 * m) / m;
  }

原理就是先判断俩个相加/相减数谁的小数点后位数多,以多的为准,值乘以10的小数位的幂数,相加以后,再除以10的小数位的幂数

相关文章

网友评论

      本文标题:Js中带有小数的值相加减的解决方案

      本文链接:https://www.haomeiwen.com/subject/oqzhsltx.html