Posted in Javascript onMay 31, 2010
函数代码如下:
/* * 四则运算精度修正函数 * 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, '- ')
javascript 四则运算精度修正函数代码
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@