个人随笔
目录
JS进行浮点数计算的设想以及BUG修复
2020-03-17 23: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. }
 184

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2