javascript 四则运算精度修正函数代码 |
函数代码如下: 复制代码 代码如下: /* * 四则运算精度修正函数 * m 数值1(number) * n 数值2(number) * op 操作符(string) */ function fixMath(m, n, op) { var a = (m+ " "); var b = (n+ " "); var x = 1; var y = 1; var c = 1; if(a.indexOf( ". ")> 0) { x = Math.pow(10, a.length - a.indexOf( ". ") - 1); } if(b.indexOf( ". ")> 0) { y = Math.pow(10, b.length - b.indexOf( ". ") - 1); } switch(op) { case + : case - : c = Math.max(x,y); m = Math.round(m*c); n = Math.round(n*c); break; case * : c = x*y m = Math.round(m*x); n = Math.round(n*y); break; case / : c = Math.max(x,y); m = Math.round(m*c); n = Math.round(n*c); c = 1; break; } return eval( "( "+m+op+n+ ")/ "+c); } 函数用法如下: 复制代码 代码如下: fixMath(2.3, 1.9, * ) fixMath(1.98, 1.9, - ) fixMath(83.50, 74.15, - ) |