首页
登录    写博文 
登录
我的博客
我的收藏
JS进行浮点数计算的设想以及BUG修复
 1   0   0  2020-03-17 22:23:45

因为要优化用户体验,所以逼不得已需要在页面对金额进行统计加减,然后百度了下JS浮点数计算怎么算,发现都是如下思路:

  1. 判断小数点后面有多少位
    2、两位就乘以100,三位就是、乘以1000,也就是可以用Math.pow函数来做乘10操作
    3、最后结果在除以多乘的值
    类似如下代码
  1. function FloatAdd(arg1,arg2){
  2. var r1,r2,m;
  3. try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
  4. try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
  5. m=Math.pow(10,Math.max(r1,r2));
  6. return (arg1*m+arg2*m)/m;
  7. }

但是我发现,这样子对于有些数据还是不行的,所以这里要进行一些小修改,就是多乘10,改为如下:

  1. function FloatAdd(arg1,arg2){
  2. var r1,r2,m;
  3. try{r1=arg1.toString().split(".")[1].length+1}catch(e){r1=0}
  4. try{r2=arg2.toString().split(".")[1].length+1}catch(e){r2=0}
  5. m=Math.pow(10,Math.max(r1,r2));
  6. return (arg1*m+arg2*m)/m;
  7. }
 
0
留言
登录博客到个人信息里绑定邮箱可及时收到回复哦!去绑定
正在加载...
有疑问发邮件到:suibibk@qq.com
Copyright :  随笔博客     备案号:粤ICP备17055068