如:function digitForIgnore(digit,count)
{
  //方法体
}运行效果:digitForIgnore(1.234,1)=1.3
digitForIgnore(1.234,2)=1.24digitForIgnore(1.20034,1)=1.3求教方法体里应该怎么写?谢谢

解决方案 »

  1.   

    <script language="javascript">
    function digitForIgnore(digit,count)
    {
      digit=digit.toString();
      var str="";
      if(digit.indexOf(".")!=-1){
        var n=digit.split(".");
        var b=n[1];    
        if(b.length>count)
        {
          str=b.substring(0,count);
          if(b.substring(b.length-count,b.length-count+1)!=0){
            str++
          }
          str=n[0]+"."+str;
        }else{
          for(var i=0;i<count-b.length;i++){
             str+="0";
          }
          str=digit+str;
        }
      }else{
          for(var i=1;i<=count;i++){
             str+="0";
          }
          str=digit+"."+str;
      }
      return str;
    }
    alert(digitForIgnore(1.234,1));//1.3
    alert(digitForIgnore(1.234,2));//1.24
    alert(digitForIgnore(1.20034,1));//1.3
    alert(digitForIgnore(1.2,3));//1.200
    alert(digitForIgnore(1.211,3));//1.211
    alert(digitForIgnore(23,3));//23.000
    </script>
      

  2.   

    <script type="text/javascript">
    (function(){
    if(!window['Z']){
    window['Z']={};
    }
    function round(num,prec){
    var a=9;
    for(var i=0;i<=prec;i++){
    a=a/10;
    }
    num+=a;
    var start=(num+"").indexOf(".");
    var end=start+prec+1;
    num=(num+"").substring(0,end);
    return num;
    }
    window['Z']['round']=round;
    }
     )();
    alert(Z.round(1.234,1));
    alert(Z.round(1.234,2));
    alert(Z.round(1.20034,1));
    </script>
    不明白你的意思
    为什么digitForIgnore(1.20034,1)=1.3啊
    不是1.2后是0应该是1.2吗?
      

  3.   


     function digitForIgnore(digit,count)
     {
        return isNaN(digit) || isNaN(count) ? NaN : Math.ceil(digit*Math.pow(10,count))*Math.pow(10,-count)
     }
      

  4.   

    <script language="javascript">
    function digitForIgnore(digit,count)
    {
      digit=digit.toString();
      var str="";
      if(digit.indexOf(".")!=-1){
        var n=digit.split(".");
        var b=n[1];
        for(var i=0;i<count;i++){
             b+="0";
        }
        str=b.substring(0,count);
        if(b.substring(count,count+1)!=0){
          str++
        }
        str=n[0]+"."+str;
      }else{
          for(var i=1;i<=count;i++){
             str+="0";
          }
          str=digit+"."+str;
      }
      return str;
    }alert(digitForIgnore(1.234,1));//1.3
    alert(digitForIgnore(1.234,2));//1.24
    alert(digitForIgnore(1.20034,1));//1.2 不应该是1.3
    alert(digitForIgnore(1.2,3));//1.200
    alert(digitForIgnore(1.211,3));//1.211
    alert(digitForIgnore(23,3));//23.000
    </script>
      

  5.   

    逻辑1. Math.floor(1.234*Math.pow(10,1)+1)/Math.pow(10,1) = 1.3
    2. Math.floor(1.234*Math.pow(10,2)+1)/Math.pow(10,2) = 1.24
    3. .................所以:
         var  result = Math.floor(digit*Math.pow(10,count)+1)/Math.pow(10,count) 
    算法就 第一个数乘以10的count次方,然后结果+1后,再取整数(舍去小数),然后除以count次方即可!中间还需要考虑到数字的异常情况。