如何使用 JavaScript 识别数字是不是为整数 [重复]

Posted

技术标签:

【中文标题】如何使用 JavaScript 识别数字是不是为整数 [重复]【英文标题】:How to identify if a number is an integer using JavaScript [duplicate]如何使用 JavaScript 识别数字是否为整数 [重复] 【发布时间】:2011-12-31 05:00:47 【问题描述】:

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

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

还必须将 1.0 视为整数

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

【问题讨论】:

小数是一个数字。也许你的意思是integer +1 to u @tekknolagi 是的,我的意思是整数 @OMTheEternity 不幸的是,评论点赞没有得到代表 也许这会有所帮助:***.com/questions/3885817/… @OMTheEternity 看看我的回答 :) 享受吧! 【参考方案1】:

在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

【讨论】:

【参考方案2】:
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 类型,将可以工作。

【讨论】:

我说的是int类型,但JS中只有number。你知道我的意思。 最后的解决方案接受字母表。我只需要整数即可通过 @OMTheEternity 最后一个解决方案不接受字符串。【参考方案3】:

你可以使用正则表达式

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

【讨论】:

以上是关于如何使用 JavaScript 识别数字是不是为整数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将整数位数组转换为整数值?

基于OCR的字母识别算法的matlab仿真

JavaScript函数与Window对象

c++如何将string字符串按原内容转换为整型int数据 (C++如何判断某字符串数据是否是纯数字)

JavaScript类型转换

如何将字符串转换为整型数?