javascript脚本数字类型操作

来源:互联网 发布:网络语言233什么意思 编辑:程序博客网 时间:2024/05/22 08:20

//加法

function accAdd(arg1,arg2){
     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))
     return (arg1*m+arg2*m)/m
   }

   //给Number类型增加一个add方法,调用起来更加方便。
   Number.prototype.add= function (arg){
      return accAdd(arg,this);
   }
   functionaccMul(arg1,arg2)
   {
   varm=0,s1=arg1.toString(),s2=arg2.toString();
   try{m+=s1.split(".")[1].length}catch(e){}
   try{m+=s2.split(".")[1].length}catch(e){}
   returnNumber(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
   }

   //给Number类型增加一个mul方法,调用起来更加方便。
   Number.prototype.mul= function (arg){
   returnaccMul(arg, this);
   }

//格式化数字,srcStr--数字,nAfterDot保留几位小数

function FormatNumber(srcStr,nAfterDot){
    var srcStr,nAfterDot;
    var resultStr,nTen;
    srcStr = ""+srcStr+"";
    strLen = srcStr.length;
    dotPos = srcStr.indexOf(".",0);
    if (dotPos == -1){
      resultStr = srcStr+".";
      for (i=0;i
        resultStr = resultStr+"0";
      }
    }
    else{
      if ((strLen - dotPos - 1) >= nAfterDot){
        nAfter = dotPos + nAfterDot + 1;
        nTen =1;
        for(j=0;j
          nTen = nTen*10;
        }
        resultStr = Math.round(parseFloat(srcStr)*nTen)/nTen;
      }
      else{
        resultStr = srcStr;
        for (i=0;i<(nAfterDot - strLen + dotPos + 1);i++){
          resultStr = resultStr+"0";
        }
        
      }
    }
   
    returnresultStr;

   }

0 0