`

js两浮点数加减乘除

    博客分类:
  • JS
阅读更多
页面上输入两个数, 进行运算
//加    
function floatAdd(arg1,arg2){  
  // 如果arg1为空, 默认为0
  if(isNaN(arg1)) {
    arg1 = 0;
  }
  // 如果arg2为空, 默认为0
  if(isNaN(arg2)) {
    arg2 = 0;
  }
  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));
  var s = (arg1*m+arg2*m)/m;
  // 如果是1.00 + 2.00 则返回 3.00  (如果不这样, 就只能返回3)
  try{s.toString().split(".")[1].length}catch(e){s = s + ".00"};
  return s;    
}    
      
//减    
function floatSub(arg1,arg2){    
    var r1,r2,m,n;    
    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));    
    //动态控制精度长度    
    n=(r1>=r2)?r1:r2;    
    return ((arg1*m-arg2*m)/m).toFixed(n);    
}    
       
//乘    
function floatMul(arg1,arg2)   {     
    var m=0,s1=arg1.toString(),s2=arg2.toString();     
    try{m+=s1.split(".")[1].length}catch(e){}     
    try{m+=s2.split(".")[1].length}catch(e){}     
    return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);     
}     
      
      
//除   
function floatDiv(arg1,arg2){     
      var t1=0,t2=0,r1,r2;     
      try{t1=arg1.toString().split(".")[1].length}catch(e){}     
      try{t2=arg2.toString().split(".")[1].length}catch(e){}     
        
      r1=Number(arg1.toString().replace(".",""));  
   
      r2=Number(arg2.toString().replace(".",""));     
      return (r1/r2)*Math.pow(10,t2-t1);     
}  
分享到:
评论

相关推荐

    浮点数加减乘除运算

    浮点数加减乘除运算,里面结合了从网上搜索到的accAdd版本以及新增版本的浮点加减乘除运算,明显能直出新补充方法能满足实际需求,解决js对于浮点运算的bug.

    解决JS浮点数(小数)计算加减乘除的BUG

    解决JS浮点数(小数)计算加减乘除的BUG

    js加减乘除丢失精度问题解决方法

    在javascript中,当你使用小数进行加减乘除运算时,你会发现,所得到的结果有时后面带有长长的一段小数,使运算变得复杂,并且影响计算结果。上网查询了一下原因,大致如下:在javascript中,带小数的数据运算时总会...

    JS浮点数字操作插件floatOPS.js

    floatOPS 包含加减乘除四个方法,能确保浮点数运算不丢失精度

    js精确的加减乘除实例

    说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 参数:arg1:第一个加数;arg2第二个加数;d要保留的小数位数(可以不传此参数,如果不传则不处理小数...

    floatNumCompute:javascript浮点数计算

    floatNumCompute 浮点数计算(加减乘除)加法0.2 + 0.1 = 0.30000000000000004通过computeAdd(0.2, 0.1) 可以得到正确结果 0.3;减法0.3 - 0.1 = 0.19999999999999998通过computeSub(0.3, 0.1) 可以得到正确结果 0.2;...

    JavaScript使用math.js进行精确计算操作示例

    主要介绍了JavaScript使用math.js进行精确计算操作,结合实例形式分析了开源库math.js进行高精度数学运算相关操作技巧,需要的朋友可以参考下

    Js四则运算函数代码

    javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显。这个函数返回较为精确的除法结果

    文章目录 一、javaScript 的几种数据类型 1、数字类型 2、字符串 3、布尔型 4、数组 5、null 和 undef

    javascript数据类型文章...对于一般的数学运算,如加减乘除,和数学上的表达方式相同。对于稍微复杂的运算,需要通过 Math 对象定义的函数来实现,下面是一些例子: var number1 = 0X11; //17 var number2 = 2.01e-2;

    JavaScript脚本库编写的方法

    JavaScript就是所谓的客户端脚本语言,是一种在互联网浏览器(浏览器也称为Web客户端,因为它连接到Web服务器上,以下载...因为JavaScript数值运算的结果常常不是我们想要的,还得有浮点数运算(加减乘除)函数。每次

Global site tag (gtag.js) - Google Analytics