JS乘除运算出现多位小数

分类:前端来源:站内 最近更新:2020-09-19 16:47:28浏览:1141留言:0

在前端js算法的时候经常出现无限小数的问题,为了解决这个问题,必须先用10的几次方的方式处理问题:

乘法:

function mul (arg1, arg2) { // 乘法
    var 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);
};


除法

function divi (arg1, arg2) { // 除法
     var t1 = 0,
    t2 = 0,
    r1, r2;
  try { t1 = arg1.toString().split(".")[1].length; } catch (e) {}
  try { t2 = arg2.toString().split(".")[1].length; } catch (e) {}
  r1 = Number(arg1.toString().replace(".", ""));
  r2 = Number(arg2.toString().replace(".", ""));
  return (r1 / r2) * Math.pow(10, t2 - t1);
};


0

发表评论

评论列表(0)

  • 暂时没有留言
热门