检查变量只是JavaScript中的整数的最佳方法

时间:2012-11-18 23:06:13

标签: javascript

  

可能重复:
  How to check if a number is float or integer?

检查变量是否为整数的赌注是什么?

在Python中你可以做到:

 if type(x) == int

JS中有同样优雅的等价物吗?

4 个答案:

答案 0 :(得分:2)

我没有测试过,但我建议:

if (Math.round(x) == x) {
    // it's an integer
}

Simplistic JS Fiddle

答案 1 :(得分:0)

使用isNaN(不是数字 - 但要注意逻辑被否定)并与parseInt结合使用:

function is_int(x)
{
    return (!isNaN(x) && parseInt(x) == x)
}

作为suggested here,以下内容也将如下:

function isInt(n) {
   return n % 1 === 0;
}

答案 2 :(得分:0)

Javascript提供typeof

https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/typeof

   // Numbers
   typeof 37 === 'number';
   typeof 3.14 === 'number';
   typeof Math.LN2 === 'number';
   typeof Infinity === 'number';
   typeof NaN === 'number'; // Despite being "Not-A-Number"
   typeof Number(1) === 'number'; // but never use this form!

答案 3 :(得分:0)

整数的parseFloat()和parseInt()等价物的数值将是相同的。因此你可以这样做:

function isInt(value){ 
    return (parseFloat(value) == parseInt(value)) && !isNaN(value);
}

然后

if (isInt(x)) // do work