分享

JS浮点运算 加减乘除

 newDog001 2010-04-22
  1. 转载!

  2. //浮点数加法运算   
  3. function FloatAdd(arg1,arg2){   
  4.     var r1,r2,m;   
  5.    try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}   
  6.    try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}   
  7.     m=Math.pow(10,Math.max(r1,r2))   
  8.    return (arg1*m+arg2*m)/m   
  9.    }   
  10.   
  11. //浮点数减法运算   
  12. function FloatSub(arg1,arg2){   
  13. var r1,r2,m,n;   
  14. try{r1=arg1.toString().split(".")[1].length}catch(e){r1=0}   
  15. try{r2=arg2.toString().split(".")[1].length}catch(e){r2=0}   
  16. m=Math.pow(10,Math.max(r1,r2));   
  17. //动态控制精度长度   
  18. n=(r1>=r2)?r1:r2;   
  19. return ((arg1*m-arg2*m)/m).toFixed(n);   
  20. }   
  21.   
  22. //浮点数乘法运算   
  23. function FloatMul(arg1,arg2)   
  24. {   
  25.    var m=0,s1=arg1.toString(),s2=arg2.toString();   
  26.   try{m+=s1.split(".")[1].length}catch(e){}   
  27.   try{m+=s2.split(".")[1].length}catch(e){}   
  28.   return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)   
  29.    }   
  30.   
  31.   
  32. //浮点数除法运算   
  33. function FloatDiv(arg1,arg2){   
  34. var t1=0,t2=0,r1,r2;   
  35. try{t1=arg1.toString().split(".")[1].length}catch(e){}   
  36. try{t2=arg2.toString().split(".")[1].length}catch(e){}   
  37. with(Math){   
  38. r1=Number(arg1.toString().replace(".",""))   
  39. r2=Number(arg2.toString().replace(".",""))   
  40. return (r1/r2)*pow(10,t2-t1);   
  41. }   
  42. }
  43. ===============================================
  44. 1.丢弃小数部分,保留整数部分
    parseInt(5/2)
  45. 2.向上取整,有小数就整数部分加1
  46. Math.ceil(5/2)
  47. 3,四舍五入.
  48. Math.round(5/2)
  49. 4,向下取整
  50. Math.floor(5/2)

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多