關於Javascript中的parseInt()的使用

來源:互聯網
上載者:User

 

參見:

alert(parseInt(09));

alert(parseInt("09"));

alert(parseInt('09'));

alert(parseInt("10"));

alert(parseInt("01287"));

alert(parseInt("a012"));

結果為:

【9】 【0】 【0】【10】【10】【NaN】

注意:這個不同於java中的pareInt的結果。

【解析】函數parseInt的文法為:parseInt(string,radix);

radix的取值範圍為:二進位、八進位、十進位、十六進位。

如果不指定radix的值的話:

1、當string是以0x開頭的話,就認為是要解析為十六進位的。

2、當string是以0開頭但後面不是緊跟x時,如:01,02,03,04,05,06,07,08,09時,就解析為八進位的,並且會將有效部分解析為八進位的結果,如:"01287"的有效部分是"012",結果為10。此時,01到07可以正確解析,08和09的8和9就是非法的了,只會部分解析,結果為0。

如果想避免這種情況,建議給radix指定值,用為:parseInt('09',10)===>9,因為我們一般都是希望其解析為十進位的結果。

相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。