parseInt('1') = 1
parseInt('01') = 1
parseInt('5') = 5
parseInt('05') = 5
parseInt('8') = 8
爲什麼parseInt()在傳遞帶有前導零的字符串時返回意外的結果?
但爲什麼:
parseInt('08') = 0
parseInt('09') = 0
parseInt('1') = 1
parseInt('01') = 1
parseInt('5') = 5
parseInt('05') = 5
parseInt('8') = 8
爲什麼parseInt()在傳遞帶有前導零的字符串時返回意外的結果?
但爲什麼:
parseInt('08') = 0
parseInt('09') = 0
始終使用接受的基數作爲第二個參數過載:
parseInt('011',10) = 11
號開始0
(未0x
)是八進制數。因此,8
和9
不是有效的八進制數字。
這裏是一個暗示:
parseInt('011') = 9
如果它從0開始它解析爲一個八進制數。
其他人回答爲什麼一部分。
要刪除,可以使用parseFloat
()或parseInt函數(值,基峯) Fiddle
當一個字符串轉換成在JavaScript十進制數,可以使用加運算符代替parseInt函數或parseFloat,像在這例如:
x = +(「12」); //給x分配一個數字12,在從一個字符串「12」轉換之後
x = +(「1」+「2」); //在x從字符串「12」轉換後,x被分配一個數字12