欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

js判断数字是否为整数

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

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

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

  1. function isInteger(obj){
  2. obj = Number(obj); //先把字符串类型转换成数字类型

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

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

  1. function isInteger(obj){
  2. obj = Nuber(obj);//先把字符串类型转换成数字类型

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

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

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

  1. Number.isInteger(3.3)    // false
  2. Number.isInteger(3)      // true
  3. Number.isInteger('')      // false
  4. Number.isInteger('3')    //false
  5. Number.isInteger([])     // false
  6. Number.isInteger(true)   //false



版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tangxiujiang/article/details/78073792
个人分类: js


来自  https://blog.csdn.net/tangxiujiang/article/details/78073792

普通分类: