如何使用 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 识别数字是不是为整数 [重复]的主要内容,如果未能解决你的问题,请参考以下文章