不用判断了,JavaScript没分那么清楚,所有数字就一个类型:
Number

解决方案 »

  1.   

    但我要知道是否为带小数的number,改怎么写个函数来判断?
      

  2.   

    用正则吧
    parseFloat函数对234.234.234这样能转成数字的,都不返回NaN
      

  3.   

    <script type="text/javascript">
    //<![CDATA[
    document.write(isFloat('no'),'<br/>');
    document.write(isFloat(22),'<br/>');
    document.write(isFloat(22.22),'<br/>');

    function isFloat(num){
    if(!isFinite(num))return false;
    num+='';
    if(num.indexOf('.')>-1)return true;
    else return false;
    } // shawl.qiu script
    //]]>
    </script>
      

  4.   

    var reg = /^\-?([1-9]\d*|0)\.\d+$/;
    if( reg.test(str) )
    {
      // str为带小数的数字串
    }
      

  5.   

    reg 只能操作 字符串, 数字可不行.
      

  6.   

    你把数字.toString() 不就是字符串了?
      

  7.   

    10.00 就变成 10 了, valueOf, toLocaleString() 也不行.
      

  8.   

    10.00这种只能以字符串存在,在Number类型中是不会有这种形式的数字出现,就算你这样定义:
    var n = 10.00;
    但经JS解释器解释后,其实就跟n = 10;没有一点区别。
    为什么会没区别?因为JS没把数值类型再作进一步细分。