JS乘除运算出现多位小数

分类:技术最近更新:2020-09-19浏览:1146

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

乘法:

javascript
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); };

除法

javascript
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); };