JavaScript之parseInt()方法


parseInt(string, radix):用於解析一個字符串並返回指定基數的十進制整數或者NaN

string參數為被解析的值,如果該值不是一個字符串,則會隱式的使用toString()方法轉化為字符串,字符串首尾的空格會被忽略,如果該值不能轉化為數字或者第一個非空字符不能轉化為數字則返回NaN

radix可選參數,值為2~36之間的整數,解析的基數,例如2為二進制數,如果省略該參數或者該值為0,則會以十進制解析,如果該值小於2或者大於36,則會返回NaN。如果省略該參數,string以0x或0X開頭,以16進制解析,string以0開頭,以八進制或十六進制解析,以1~9開頭,以10進制解析

parseInt解析到的字符不是指定radix中的數字時,它會忽略該字符及其之后的字符,並返回已解析的十進制

eg:

parseInt(3.3) => 3; parseInt(3, 0) => 3;

parseInt(3, 1) => NaN => 因為radix不能小於2

parseInt('31', 2) => NaN => 因為在二進制中大於1的數是非法數

parseInt('0xF', 16) => 15 => 十六進制中A=10 ~ F=15

parseInt('F', 16) => 15; parseInt('-F', 16) => -15

parseInt('0e0', 16) => 14*16 = 224

parseInt('123', 5) => 38 => 1*5^2+2*5^1+3*5^1

parseInt(021, 8) => 15 => 021.toString() = 17;相當於parseInt('17', 8)=15

parseInt('abc') => NaN

parseInt(4.7*1e18, 10) => 4

parseInt(0.0000000000444, 10) => 4

 

['1', '2', '3'].map(parseInt) => [1, NaN, NaN]
map方法的callback(currentVal, index, array)相當於
[parseInt('1', 0), parseInt('2', 1), parseInt('3', 2)] => [1, NaN, NaN]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM