个人随笔
目录
js对float数据进行加减乘除运算
2022-04-28 08:43:08

有时候,我们需要再页面对浮点数进行加减乘除,如果直接使用精度可能会有些问题,所以可以采取如下方式。

  1. //浮点数加法运算
  2. function FloatAdd(arg1,arg2){
  3. var r1,r2,m;
  4. try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
  5. try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
  6. m=Math.pow(10,Math.max(r1,r2));
  7. return (arg1*m+arg2*m)/m;
  8. }
  9. //浮点数减法运算
  10. function FloatSub(arg1,arg2){
  11. var r1,r2,m,n;
  12. try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}
  13. try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}
  14. m=Math.pow(10,Math.max(r1,r2));
  15. //动态控制精度长度
  16. n=(r1=r2)?r1:r2;
  17. return ((arg1*m-arg2*m)/m).toFixed(n);
  18. }
  19. //浮点数乘法运算
  20. function FloatMul(arg1,arg2)
  21. {
  22. var m=0,s1=arg1.toString(),s2=arg2.toString();
  23. try{m+=s1.split(".")[1].length}catch(e){}
  24. try{m+=s2.split(".")[1].length}catch(e){}
  25. return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m);
  26. }
  27. //浮点数除法运算
  28. function FloatDiv(arg1,arg2){
  29. var t1=0,t2=0,r1,r2;
  30. try{t1=arg1.toString().split(".")[1].length}catch(e){}
  31. try{t2=arg2.toString().split(".")[1].length}catch(e){}
  32. with(Math){
  33. r1=Number(arg1.toString().replace(".",""));
  34. r2=Number(arg2.toString().replace(".",""));
  35. return (r1/r2)*pow(10,t2-t1);
  36. }
  37. }
 663

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


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

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