2017-08-07 80 views
-3

我有这样的HTML:isNaN为parseInt函数()返回false

<div id="val">64</div> 

和这个JS:

$(function(){ 
    console.log(isNaN(parseInt($('#val').text()))); 
}) 

,这是false。如果有数字,我需要检查。

+1

似乎好工作给我.....什么样的价值[S]失败? – epascarello

+0

你的问题是什么? – Nathan

+4

是'false',因为它是一个数字。 –

回答

2

isNaN()函数返回true如果传递的值不是一个数字,而不是IT是一个数字。

由于您要检查给定的文本是否是数字,您可以简单地在isNaN()调用前添加一个!,以便测试它是否“不是”数字,或者换句话说,如果它是一个数字:

$(function(){ 
    console.log(!isNaN(parseInt($('#val').text()))); 
}) 

!操作者的目的是扭转一个布尔值;即将false更改为true,反之亦然。

+0

'!isNaN($('#val')。text())' - 返回'true'这意味着它不是一个数字,而是文本'div'是64. – gdfgdfg

+3

@gdfgdfg你正在通过加上'!'来反转 – j08691

+1

是的,据我所知,Sry10个小时,这就是结果。我认为isNaN返回true,如果它是数字..... – gdfgdfg

0

如果你想知道的话,格值是逸岸一个数字,你可以把它像

if (!isNaN(parseInt($('#val').text()))) { 
    // What you want to do if it IS a number 
} else { 
    // What you want to do if it IS NOT a number. 
} 

你基本上检查,如果它是ň OT 一个ň赭本功能。如果它是一个数字,它会返回false,并且您可以执行您计划执行的任何代码,但如果它不是数字,则返回true,您可以设置回退。

0

使用if语句检查isNaN是否先解析为整数或console.log。

$(function(){ 
var number = !isNaN($('#val').text())?parseInt($('#val').text()):'NaN'; 
console.log(number); 
}) 
1

isNaN()函数的返回没有任何问题。

全局函数isNaN将返回如果参数不是数字或如果返回是一个数字。

如果你想检查argumet是一个数字,你可以做!isNaN()