如何使用JavaScript识别数字是否为整数

时间:2011-11-17 10:08:34

标签: javascript validation

  

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

我一直在使用JavaScript函数isNaN(value)来识别数字是整数还是浮点数。但现在我面临另一个问题,即NaN()没有过滤浮点数。它接受它为整数。

此外,它必须将1.0视为整数

有人可以指导我找出一种可以过滤整数值的方法吗?

4 个答案:

答案 0 :(得分:2)

在javaScript中,十进制和整数之间没有区别,它们都是number。区分差异的一种方法是使用正则表达式来测试数字

的转换字符串
var intTest = /^-?(\d+|0)$/;
if(intTest.test(someNumber)) {
   console.log('int');

}

// intTest.test(2);
// true
// intTest.test(2.1);
// false
// intTest.test(0);
// true
// intTest.test(-1);
// true
// intTest.test(-1.2);
// false

答案 1 :(得分:1)

您可以使用正则表达式

if(/^-?\d+\.?\d*$/.test(1.23)) {
    // hurray this is a number
}

答案 2 :(得分:1)

在这里提问并回答:

JavaScript - Test for an integer

答案 3 :(得分:0)

function is_int(value){ 
  if ((parseFloat(value) == parseInt(value)) && !isNaN(value)) {
      return true;
  }
  else { 
      return false;
  } 
}

这也是:

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

如果您希望2.00计为整数,这将有效。

function is_int(value){ 
   return !isNaN(parseInt(value * 1));
}

如果您严格要求int类型,则可以使用。