请输入您要查询的百科知识:

 

词条 isNaN
释义

计算机编程中isNaN

返回一个 Boolean 值,指明提供的值是否是保留值 NaN (不是数字)。

NaN 即 Not a Number

isNaN(numValue)

必选项 numvalue 参数为要检查是否为 NAN 的值。

说明

假如值是 NaN, 那么 isNaN 函数返回 true ,否则返回 false。 使用这个函数的典型情况是检查 parseInt 和 parseFloat 方法的输入值。

还有一种办法,变量可以与它自身进行比较。 假如比较的结果不等,那么它就是 NaN 。 这是因为 NaN 是唯一与自身不等的值。

isNaN函数用法示例:比如我有一个textbox用于录入数字型的数据,在提交表单的时候我要验证该textbox中的值是否为数据,那么我们可以使用isNaN函数。

function checkValue()

{

if(isNaN(document.all.textbox.value))

{

alert("请用数字录入!");

return false;

}

}

isNaN的典型使用是为parseInt和parseFloat方法的输入值进行一个提前的检验,但这种简单结果并不好。虽然可能有一些教课书上也这么说,甚至于错误地认为其是一个检查parseInt和parseFloat的返回值,这样都是错误的。

parseInt与parseFloat是将一个字符型按数字进行一个转化。但自身还有错误处理的,如果你的输入值不是一个数字时,则parseInt和parseFloat返回一个消息:“is not number”,但一般的情况下我们都是对一个数字样式的字符串进行转换的,谁会无聊到转化非数字型的呢?所以你输入的参数是否合格,可以先进行一次isNaN检查的。

但如果我们有意识的以下行为,事先是不能用isNaN进行检查的,数字开头中间含有字母时,如果用isNaN进行检查是通不过的。

如果是一个空串或是一个空格,而isNaN是做为数字0进行处理的,而parseInt与parseFloat是返回一个错误消息,这个isNaN检查不严密而导致的。

两个函数是独立的,并不会谁为谁而生存,isNaN与parseInt/parseFloat并没有关系。

Matlab中isnan函数

函数名称: isnan

函数功能: 判断数组的元素是否是NaN。NaN即Not a Number的缩写。

NaN是Not a Number的缩写。在matlab中以下情况会出现NaN:

任何关于NaN的数值运算, 如sqrt(NaN)

加减法, 如(+Inf)+(-Inf)

乘法, 如0乘以Inf

除法, 如0/0、Inf/Inf

Remainder, 比如rem(x, y)其中y为0或x是Inf。

语法格式:

TF = isnan(A)

返回一个和A尺寸一样的数组, 如果A中某个元素是NaN, 则对应TF中元素是1, 否则TF中对应元素是0。

相关: isfinite、inf、nan、isinf

程序示例

>> A = [Inf + Inf, Inf - Inf, Inf, NaN, sqrt(NaN), sqrt(Inf), 0 * Inf, 0 / 0, Inf / Inf]

A = Inf NaN Inf NaN NaN Inf NaN NaN NaN

>> TF = isnan(A)

TF = 0 1 0 1 1 0 1 1 1

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2025/2/5 23:36:06