js判断数字是否为整数

js不区分整数和浮点数,所有数字内部都采用64位浮点格式表示。

1、使用取余运算符(%) + 判断对象是否是数字来判断:

     注意:空字符串、字符串类型数字、布尔true、空数组对1求余,结果都是true(因为他们都是对象,),所以要先判断对象是否为数字

    function isInteger(obj){

         return typeof obj === 'number' && obj%1 === 0;      //是整数,则返回true,否则返回false

    }

2、使用Math.round、Math.ceil、Math.floor判断,整数取整之后还是自己

 function isInteger(obj){

       return  Math.round(obj) === obj   //是整数,则返回true,否则返回false

  }

注意:这种方法直接把空字符串、字符串类型数字、布尔true、空数组给屏蔽掉了

3、ES6提供了Number.isInteger  但只有chrom  firefox支持

    Number.isInteger(3.3)    // false

    Number.isInteger(3)      // true


    Number.isInteger('')      // false

    Number.isInteger('3')    //false


    Number.isInteger([])     // false

    Number.isInteger(true)   //false



你可能感兴趣的:(js)