學習JavaScript之parseInt()數值轉換常被忽略的問題

來源:互聯網
上載者:User

標籤:

使用parseInt()你可以從字串中擷取數值,該方法接受另一個基數參數,這經常省略,但不應該。當字串以”0″開頭的時候就有可能會出問題,例如,部分時間進入表單域,在ECMAScript 3中,開頭為”0″的字串被當做8進位處理了,但這已在ECMAScript 5中改變了。為了避免矛盾和意外的結果,總是指定基數參數。

var month = "06",    year = "09";month = parseInt(month, 10);year = parseInt(year, 10);

此例中,如果你忽略了基數參數,如parseInt(year),返回的值將是0,因為“09”被當做8進位(好比執行 parseInt( year, 8 )),而09在8進位中不是個有效數字。

替換方法是將字串轉換成數字,包括:

+"09" // 結果是 9Number("09") // 9

這些通常快於parseInt(),因為parseInt()方法,顧名思意,不是簡單地解析與轉換。但是,如果你想輸入例如“08 hello”,parseInt()將返回數字,而其它以NaN告終。

 

參考網址

學習JavaScript之parseInt()數值轉換常被忽略的問題

聯繫我們

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

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

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.