javascript数值四则运算精度修正函数
2012-03-07 17:01
417 查看
转载自:http://topic.csdn.net/u/20070622/09/c6a389e4-0b52-49c3-9c99-49e126d78a3e.html
我对上面的代码进行了修改,现在直接使用就可以了
/*
* 四则运算精度修正函数
* m 数值1(可以是数字字符串)
* n 数值2(可以是数字字符串)
* op 操作符(string)
*/
function fixMath(m, n, op) {
var m=Number(m);
var n=Number(n);
var a=String(m);
var b=String(n);
var x=1;
var y=1;
var c=1;
if(a.indexOf( ".")> 0) {
x=Math.pow(10, a.length-a.indexOf("."));
}
if(b.indexOf( ".")> 0) {
y=Math.pow(10, b.length-b.indexOf("."));
}
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);
}
我对上面的代码进行了修改,现在直接使用就可以了
/*
* 四则运算精度修正函数
* m 数值1(可以是数字字符串)
* n 数值2(可以是数字字符串)
* op 操作符(string)
*/
function fixMath(m, n, op) {
var m=Number(m);
var n=Number(n);
var a=String(m);
var b=String(n);
var x=1;
var y=1;
var c=1;
if(a.indexOf( ".")> 0) {
x=Math.pow(10, a.length-a.indexOf("."));
}
if(b.indexOf( ".")> 0) {
y=Math.pow(10, b.length-b.indexOf("."));
}
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);
}
相关文章推荐
- javascript数值四则运算精度修正函数
- javascript两个数值简单运算精度修正函数
- javascript 四则运算精度修正函数代码
- JavaScript 四则运算(加减乘除小数运算)避免损失精度
- JavaScript 四则运算(加减乘除小数运算)避免损失精度
- javascript中对数值计算控制精度的函数
- JavaScript 四则运算(加减乘除小数运算)避免损失精度
- Mathematica 基本数值运算与符号运算函数
- NumPy常用【数值计算】函数总结(2):ufunc运算、矩阵运算
- JavaScript赋值运算与数值运算
- JavaScript 浮点数运算的精度问题
- javascript浮点数运算修正
- JavaScript浮点数及运算精度调整详解
- C语言 两个分数的四则运算,用函数调用实现
- javascript数值计算得注意精度问题
- matlab控制运算精度函数digits(A)和vpa(B)的使用方法
- javaScript中自定义sort中的比较函数,用于比较字符串长度,数值大小
- ABAP开发基础知识:8)数值运算及算术运算函数
- javaScript简单四则运算工具类ElementaryArithmeticUtils