首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我找不到像我想要的那样工作的isInt

我找不到像我想要的那样工作的isInt
EN

Stack Overflow用户
提问于 2011-12-15 15:27:03
回答 4查看 230关注 0票数 0

我正在搜索检查var是否为数字的终极最佳方法

代码语言:javascript
复制
function isInt(n){ 
   return !isNaN(parseInt(n * 1));
}

alert(isInt(""));//true

这个网站欺骗了我http://www.inventpartners.com/content/javascript_is_int

anser https://stackoverflow.com/a/3886106/908879的一个家伙的第二个评论吓到我了,我不再用他的答案了

请帮我找个合适的plxplx

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2011-12-15 15:35:56

下面的方法可以很好地解决你的问题。但是,如果它是浮点数,则返回false

代码语言:javascript
复制
function isInt(n){ 
    return !isNaN(parseFloat(n)) && isFinite(n) && (n % 1 == 0); 
};

如果你想知道它是否通常是一个数字,最好的解决方案是

代码语言:javascript
复制
function isNumber(n){ 
    return !isNaN(parseFloat(n)) && isFinite(n); 
};

另请参阅:http://dl.dropbox.com/u/35146/js/tests/isNumber.html

票数 3
EN

Stack Overflow用户

发布于 2011-12-15 15:38:34

如果你只想知道n是一个数字,你可以使用:

代码语言:javascript
复制
function isNumber(n){
    return typeof n == 'number';
}
alert(isNumber(""));//false
票数 0
EN

Stack Overflow用户

发布于 2011-12-15 15:41:34

你可能需要做更多的检查:

代码语言:javascript
复制
function isInt(n){ 
 n = Number(n);
 return String(n).length 
        && !isNaN(parseInt(n,10)) 
        && n%1 === 0;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8516488

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档