var newnum = Math.round(oldnum * Math.pow(10, n)) / Math.pow(10, n)
//其中N为你想要取的小数位数,Math.round采取四舍五入的方法,
//Math.floor和Math.ceil分别为取小于等于/大于等于该数的最大/小整数

解决方案 »

  1.   

    var nub;
    var nublength1;
    var nublength2;
    nub=12.3456;
    newnub=parseInt(nub);
    nublength1=newnub.toString().length;
    nublength2=(nub.toString().length-nublength1);试试看。
      

  2.   

    如果只是想取整数和小数部分
    var newint = Math.floor(oldnum)
    var newnum = oldnum = newint
    length = newint.toString().length; length = newnum.length - 2
      

  3.   

    var s="12.3456";
    var ss=s.split(".");
    alert(ss[0]+"长度"+ss[0].length);
    alert(ss[1]+"长度"+ss[1].length);
      

  4.   

    我看过一个贴子,JavaScript自带的四舍五入法有个问题。具体的讲不清楚了。下面的是一个四舍五入法的函数。
    //====================四舍五入的方法====================================
    function round(v,p){
             var tempInt,tempDot,temp,Power,xxrl
      temp = v;
      Power = 1;
      for(var i=0;i<p;i++){
         Power = Power * 10;
      }
      tempInt=parseInt(temp*Power);
      tempDot=v*Power-tempInt;
      if(tempDot>=0.499){
       tempInt=tempInt+1;
      }
      xxrl = parseFloat(tempInt/Power,4);
    }
      

  5.   

    TO: chinchy(糟老头)  
    靠,想法不错。
      

  6.   

    chinchy(糟老头) 的想法不错,试试看^_^