方法一: 加减乘除 function add(a, b) { var c, d, e; try { c = a.toString().split( ".")[1].length; } catch (f) { c = 0; } try { d = b.toString().split( ".")[1].length; } catch (f) { d = 0; } return e = Math.pow(10, Math.max(c, d)), (mul(a, e) + mul(b, e)) / e; } function sub(a, b) { var c, d, e; try { c = a.toString().split( ".")[1].length; } catch (f) { c = 0; } try { d = b.toString().split( ".")[1].length; } catch (f) { d = 0; } return e = Math.pow(10, Math.max(c, d)), (mul(a, e) - mul(b, e)) / e; } function mul(a, b) { var c = 0, d = a.toString(), e = b.toString(); try { c += d.split( ".")[1].length; } catch (f) {} try { c += e.split( ".")[1].length; } catch (f) {} return Number(d.replace( ".", "")) * Number(e.replace( ".", "")) / Math.pow(10, c); } function div(a, b) { var c, d, e = 0, f = 0; try { e = a.toString().split( ".")[1].length; } catch (g) {} try { f = b.toString().split( ".")[1].length; } catch (g) {} return c = Number(a.toString().replace( ".", "")), d = Number(b.toString().replace( ".", "")), mul(c / d, Math.pow(10, f - e)); }- 方法二:
加法计算
function accAdd(arg1,arg2){ var r1,r2,m; 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)) return (arg1*m+arg2*m)/m }
JS浮点计算问题
最新推荐文章于 2022-09-23 13:46:57 发布