parseInt() 函數可解析一個字符串,并返回一個整數。
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() 將把它解析為十進制的整數。
注釋:只有字符串中的第一個數字會被返回。
注釋:開頭和結尾的空格是允許的。
提示:如果字符串的第一個字符不能被轉換為數字,那么 parseFloat() 會返回 NaN。
在本例中,我們將使用 parseInt() 來解析不同的字符串:
parseInt("10"); //返回 10parseInt(" 10 1") //10parseInt("19",10); //返回 19 (10+9)parseInt("11",2); //返回 3 (2+1)parseInt("17",8); //返回 15 (8+7)parseInt("1f",16); //返回 31 (16+15)parseInt("010"); //未定:返回 10 或 8
parseInt("He was 40") //NaN
parseInt("-40He was )"; //-40
parseInt("0.123"); //0parseInt("01.23"); //1parseInt(".13"); //NaN
在轉換字符串時,更多的時看其是否符合數值模式。會忽略字符串前面的空格,直至找到第一個非空格字符。
如果第一個字符不是數字字符或都負號,parseInt()就會返回NaN; 也就是說,用parseInt()轉換空字符串會返回NaN。如果第一個字符是數字字符,parseInt()會繼續解析第二個字符,直到解析完所有后續字符或者遇到了一個非數字字符。例如,"1234blue"會被轉換為1234,因為"blue"會被完全忽略。類似地"22.5"會被轉換為22,因為小數點不是有效的數字字符。如果字符串以"0x"開頭且后跟數字字符,就會將其當作一個十六進制整數;如果字符串以"0"開頭且后跟數字字符,就會將其當作一個八進制整數;parseInt()函數增加了第二參數用于指定轉換時使用的基數(即多少進制)如:parseInt("10",16)//按十六進制解析;parseInt("10",8)//按八進制解析
新聞熱點
疑難解答