JS 中如何判断-字符串类型的数字

作者:chilleen 来源:ITPOW(原创) 日期:2007-4-5

"23" 这样的字符串是可以转换成数字类型的,但如何判断它可以转换呢?

以下是不正确的用法:

 

var str = "37";
if (typeof(str) == "number")
{
    alert("是数字");
}

37 虽然可以转化成数字,但这里它毕竟是字符串类型,所以此法不正确。

 

var str = "37";
var n = parseInt(str);
if (!isNaN(n))
{
    alert("是数字");
}

parseInt 会将字符串转化成整数,但它会忽略非数字部分而不给任何提示,比如:"37ABC" 会转化成 37,所以此法不正确。

 


以下是正确的用法:

 

var str = "37";
var n = Number(str);
if (!isNaN(n))
{
    alert("是数字");
}

注意:在 JavaScript 中,对于省略写法(如:".3"、"-.3")、科学计数法(如:"3e7"、"3e-7")、十六进制数(如:"0xFF"、"0x3e7")均被认定为数字格式,这类字符串都可以用 Number 转化成数字。

isNaN 返回一个 Boolean 值,指明提供的值是否是 NaN ,NaN 的意思是 not a number(不是一个数字)。

语法:isNaN(numValue)


相关文章