語法
parseInt(string, radix)
引數 | 描述 |
---|---|
string | 必需。要被解析的字串。 |
radix | 可選。表示要解析的數字的基數。該值介於 2 ~ 36 之間。 如果省略該引數或其值為 0,則數字將以 10 為基礎來解析。如果它以 “0x” 或 “0X” 開頭,將以 16 為基數。 如果該引數小於 2 或者大於 36,則 parseInt() 將返回 NaN。 |
注:當引數 radix 的值為 0,或沒有設定該引數時,parseInt() 會根據 string 來判斷數字的基數:如果 string 以 "0x" 開頭,parseInt() 會把 string 的其餘部分解析為十六進位制的整數。如果 string 以 0 開頭,那麼 ECMAScript v3 允許 parseInt() 的一個實現把其後的字元解析為八進位制或十進位制的數字。如果 string 以 1 ~ 9 的數字開頭,parseInt() 將把它解析為十進位制的整數。
例項
console.log(parseInt("20"))
//20複製程式碼
console.log(parseInt("0x12"))
//18
16進位制: 1*16 + 2 = 18複製程式碼
console.log(parseInt("29",10))
//29
10進位制 2*10 + 9 = 29複製程式碼
console.log(parseInt("19",37))
// NaN
console.log(parseInt("19",1))
// NaN
不再2-36範圍複製程式碼
console.log([010,"10","10","10"].map(parseInt))
// [8, NaN, 2, 3]複製程式碼
等同於
var arr1 = [010,"10","10","10"];
arr1.map(function(item,index,arr1){
return parseInt(item,index)
})
//第1次呼叫
console.log(parseInt(010,0))//未定:返回 10 或 8
//第2次呼叫
console.log(parseInt(10,1)) //NaN
//第3次呼叫
console.log(parseInt(10,2)) // 2
//第4次呼叫
console.log(parseInt(10,3)) //3複製程式碼
console.log(parseInt("321x123"))
//321
複製程式碼