JavaScript parseInt

JavaScript parseInt 的主要功用是把字串轉為數字,可以使用二進位、八進位、十六進位、三十二進位來解析字串,用法先當簡單,但需要些進位概念才不會弄錯,在 JavaScript 的世界中,字串開頭 0x 或 0X 為 16 進位,例如 0x3、0x5 ... 等都屬於十六進位,若 0 後面接著的不是 x 則為八進位,例如 03、05 ... 等,都是屬於八進位,JavaScript parseInt 就是根據這些進位規則來解析字串,並返回一個數字。

JavaScript parseInt 函式基本語法

parseInt( string , radix)


parseInt 中的第一個參數 string 即為待解析字串,是必填項目。第二個參數 radix 為進位方式規則,未填寫則以預設 10 進位為解析規則,radix 參數的數字範圍介於 2~32 之間,若超過這個區間,parseInt 函式只能返回 NaN。雖然 radix 為選填項目,但 JavaScript 在處理字串時有多種進位方式,有可能因為字串結構,造成 JavaScript parseInt 解析結果出錯,所以建議第二個參數 radix 還是應該要寫。

JavaScript parseInt 函式範例
<script type="text/javascript">
<!--
 document.write(parseInt("10")); // 純數字,直接返回 10
 document.write(parseInt("10", 10)); // 以 10 進位解析字串,返回 10
 document.write(parseInt("123x", 10)); // 以 10 進位解析字串,返回 123
 document.write(parseInt("08")); // 未設定進位規則,無法解析,返回 0
 document.write(parseInt("08",16)); // 以16進位解析字串,返回 8
 document.write(parseInt("0x8")); // 以16進位解析字串,返回 8
-->
</script>

第一個範例僅為解析一個數字,未設定解析的進位條件,自動以預設的十進位解析,算是最基本的情況。第二個範例 parseInt 採用 10 進位制,第三個範例也是用 10 進位制,但不同的是這次解溪的字串包含英文字母,parseInt 很聰明的將 x 過濾掉,解析出 123 的答案。第四個 parseInt("08") 就是一個問題了,以 JavaScript 的認知,會將 08 先視為八進位,但是八進位僅使用 0~7 的數字,並沒有 8 這個數字,所以會無法解出答案,所以我們在下一行的範例中,加上了 16 進位的規則,成功的解析出 8 的結果。最後一個範例 0x8 字串,JavaScript 會自動根據 0x 開頭,將字串用 16 進位處理,所以解析結果也是 8。

推薦給您的相關主題
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012