字符串轉換為數字也是常見需求,通常用來從用戶輸入或文件來獲得一個Number。 在C++中可以用atoi、cin、scanf等函數,在JavaScript中可以直接用parseInt和parseFloat。 例如:

var iNum1 = parseInt("12345red");	//返回 12345
var iNum1 = parseInt("0xA");	//返回 10
var iNum1 = parseInt("56.9");	//返回 56
var iNum1 = parseInt("red");	//返回 NaN
var fNum4 = parseFloat("11.22.33");	//返回 11.22

意NaN是JavaScript中唯一一個不等于自己的值。(NaN == NaN) === false! 如果遇到非法字符,parseInt和parseFloat會忽略之后的所有內容。

parseFloat只接受十進制數字的字符串,而parseInt還提供了第二個參數(可選)用來指定字符串表示數字的進制:

var iNum1 = parseInt("10", 2);	//返回 2
var iNum2 = parseInt("10", 8);	//返回 8
var iNum3 = parseInt("10", 10);	//返回 10