javascript两个数值简单运算精度修正函数

原创 2007年09月27日 15:00:00

之前发在csdn的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, '-') 

实现double数值的精度加减乘除运算

写一个Arith工具类实现double数值的精度加减乘除运算: import java.math.*; public class Arith { //默认除法运算精度 priva...
  • Dev_Lzf
  • Dev_Lzf
  • 2013年04月12日 20:47
  • 453

高精度数值运算C++版本

/* 各种基本数值运算的高精度合集,部分代码参考猥琐帝@xiehaoyun2012,感谢其无私奉献的精神 包括: 两个高精度正整数加法 两个高精度正整数乘法 两个高精度正整...

JAVA高精度数值运算方法,小数点后保留位数,结合相关例题进行介绍!

int数据类型的位数为16位,short int数据类型的位数为16位,而long int的位数为32位。其余常用数据类型的位数也相当有限。在实际应用中,需要对更大或者更小的数进行运算和处理。Java...

javascript数值计算得注意精度问题

javascript 数值运算精度         使用javascript进行数值运算的时候要格外小心和注意,因为javas的浮点数的精度问题很严重,比如44444.1+4.2的值并不是想象中的4...

javascript 中浮点型数字的运算精度

javascript种 浮点型数字 运算时,精度会丢失,下面方法可以解决精度丢失问题 //除法函数,用来得到精确的除法结果 //说明:javascript的除法结果会有误差,在两个浮点数相除的时候...

JavaScript 浮点数及运算精度调整总结,浮点数计算不准确怎么办

JavaScript 只有一种数字类型 Number,而且在Javascript中所有的数字都是以IEEE-754标准格式表示的。浮点数的精度问题不是JavaScript特有的,因为有些小数以二进制表...

JavaScript 四则运算(加减乘除小数运算)避免损失精度

/**  * 加法运算,避免数据相加小数点后产生多位数和计算精度损失。  *  * @param num1加数1 | num2加数2  */ function numAdd(num1, num2)...

JavaScript 浮点数及运算精度调整总结

JavaScript 只有一种数字类型 Number,而且在Javascript中所有的数字都是以IEEE-754标准格式表示的。浮点数的精度问题不是JavaScript特有的,因为有些小数以二进制表...
  • gjc9620
  • gjc9620
  • 2016年01月03日 22:59
  • 179

JavaScript浮点运算的精度问题

问题这样的:   37.5*5.5=206.08  (JS算出来是这样的一个结果,我四舍五入取两位小数)   我先怀疑是四舍五入的问题,就直接用JS算了一个结果为:206.084999999999...
  • tgw2000
  • tgw2000
  • 2015年01月14日 08:53
  • 232
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:javascript两个数值简单运算精度修正函数
举报原因:
原因补充:

(最多只允许输入30个字)