1 回答

TA貢獻41條經(jīng)驗 獲得超14個贊
一、parseInt()
?
parseInt()方法首先查看位置0處的 字符,判斷它是否是個有效數(shù)字;如果不是,該方法將返回NaN,不再繼續(xù)執(zhí)行其他操作。但如果該字符是有效數(shù)字,該方法將查看位置1處的字符,進行同樣的 測試。這一過程將持續(xù)到發(fā)現(xiàn)非有效數(shù)字的字符為止,此時parseInt()將把該字符之前的字符串轉(zhuǎn)換成數(shù)字。
例如
如果要把字符串 "1234blue "轉(zhuǎn)換成整數(shù),那么parseInt()將返回1234,因為當(dāng)它檢測到字符b時,就會停止檢測過程。
parseInt()方法還有基模式,可以把二進制、八進制、十六進制或其他任何進制的字符串轉(zhuǎn)換成整數(shù)。
基是由parseInt()方法的第二個參數(shù)指定的,所以要解析十六進制的值,當(dāng)然,對二進制、八進制,甚至十進制(默認模式),都可以這樣調(diào)用parseInt()方法。
如果十進制數(shù)包含前導(dǎo)0,那么最好采用基數(shù)10,這樣才不會意外地得到八進制的值。
二、parseFloat()
與parseInt()方法的處理方式相似,從位置0開始查看每個字符,直到找到第一個非有效的字符為止,然后把該字 符之前的字符串轉(zhuǎn)換成數(shù)字。
不過,對于這個方法來說,第一個出現(xiàn)的小數(shù)點是有效字符。如果有兩個小數(shù)點,第二個小數(shù)點將被看作無效的, parseFloat
()方法會把這個小數(shù)點之前的字符串轉(zhuǎn)換成數(shù)字。這意味著字符串 "22.34.5 "將被解析成22.34。
使用parseFloat()方法的另一不同之處在于,字符串必須以十進制形式表示浮點數(shù),而不能用八進制形式或十六進制形式。
該方法會忽略前導(dǎo)0,所以八進制數(shù)0908將被解析為908。對于十六進制數(shù)0xA,該方法將返回NaN,因為在浮點數(shù)中,x不是有效字符。
此外,parseFloat()也沒有基模式。
添加回答
舉報