可能重复整数:
How to check if a number is float or integer?如何识别某个数字是使用JavaScript
我一直在使用JavaScript函数isNaN(value)
用于识别号码是否为整数或浮动。但是现在我面临着另一个问题,就是NaN()不能过滤浮点数。它接受它作为整数。
此外,它必须把1.0作为一个整数
有人能指导我找到了一个方式,我可以过滤整数值呢?
可能重复整数:
How to check if a number is float or integer?如何识别某个数字是使用JavaScript
我一直在使用JavaScript函数isNaN(value)
用于识别号码是否为整数或浮动。但是现在我面临着另一个问题,就是NaN()不能过滤浮点数。它接受它作为整数。
此外,它必须把1.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
计为一个整数这将工作。如果你想严格int
型
function is_int(value){
return !isNaN(parseInt(value * 1));
}
会工作。
我说'int'类型,但JS中只有'number'。你知道我的意思。 – tekknolagi
最后的解决方案接受字母..我只需要整数通过 –
@OMTheEternity最后的解决方案将不接受字符串。 – tekknolagi
您可以使用正则表达式
if(/^-?\d+\.?\d*$/.test(1.23)) {
// hurray this is a number
}
哇......心中难以忘怀o.O – tekknolagi
我的答案如何? – tekknolagi
在JavaScript中,小数和整数之间没有区别,它们都是number
。到diffrentiated一种方法是使用正则表达式来测试
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
十进制是一个数字。也许你的意思是'整数'? – tekknolagi
+1 to u @tekknolagi是的,我的意思是整数 –
你是不是指'整数'? – steveyang