"23" 這樣的字符串是能夠轉換成數字類型的,但如何判斷它能夠轉換呢?
如下是不正確的用法:code
var str = "37";
if (typeof(str) == "number")
{
alert("是數字");
}
if (typeof(str) == "number")
{
alert("是數字");
}
37 雖然能夠轉化成數字,但這裏它畢竟是字符串類型,因此此法不正確。htm
var str = "37";
var n = parseInt(str);
if (!isNaN(n))
{
alert("是數字");
}
var n = parseInt(str);
if (!isNaN(n))
{
alert("是數字");
}
parseInt 會將字符串轉化成整數,但它會忽略非數字部分而不給任何提示,好比:"37ABC" 會轉化成 37,因此此法不正確。blog
如下是正確的用法:ip
var str = "37";
var n = Number(str);
if (!isNaN(n))
{
alert("是數字");
}
var n = Number(str);
if (!isNaN(n))
{
alert("是數字");
}
注意:在 JavaScript 中,對於省略寫法(如:".3"、"-.3")、科學計數法(如:"3e7"、"3e-7")、十六進制數(如:"0xFF"、"0x3e7")均被認定爲數字格式,這類字符串均可以用 Number 轉化成數字。字符串
isNaN 返回一個 Boolean 值,指明提供的值是不是 NaN ,NaN 的意思是 not a number(不是一個數字)。get
語法:isNaN(numValue)it