How do I check that a number is float or integer?

前端 未结 30 3073
栀梦
栀梦 2020-11-22 00:01

How to find that a number is float or integer?

1.25 --> float  
1 --> integer  
0 --> integer  
0.25 --> float
<         


        
30条回答
  •  谎友^
    谎友^ (楼主)
    2020-11-22 00:40

    function isInteger(x) { return typeof x === "number" && isFinite(x) && Math.floor(x) === x; }
    function isFloat(x) { return !!(x % 1); }
    
    // give it a spin
    
    isInteger(1.0);        // true
    isFloat(1.0);          // false
    isFloat(1.2);          // true
    isInteger(1.2);        // false
    isFloat(1);            // false
    isInteger(1);          // true    
    isFloat(2e+2);         // false
    isInteger(2e+2);       // true
    isFloat('1');          // false
    isInteger('1');        // false
    isFloat(NaN);          // false
    isInteger(NaN);        // false
    isFloat(null);         // false
    isInteger(null);       // false
    isFloat(undefined);    // false
    isInteger(undefined);  // false
    

提交回复
热议问题