JavaScript parseInt 函數

JavaScript parseInt 函數的功能是用來解析一個字串,然後返回一個整數,在做 JavaScript 的運算時非常好用,例如 JavaScript 的加法就常常碰到字串無法相加的問題,我們可以透過 parseInt 函數來處理類似這樣的情況,parseInt 函數是 JavaScript 的基本功能,所有主流的瀏覽器都支援,使用上也相當的簡單,請先看 parseInt 基本的語法規則,接著套用到範例中。

JavaScript parseInt 函數語法規則
parseInt( string , 進位制 );
JavaScript parseInt 函數共有兩個參數可以使用,第一個參數 string 就是要轉換的字串,這是必要項目,如果原本就是整數,那轉換出來當然就還是整數,如果是字串,就會自動轉換為整數,第二的參數"進位制"的功能是用來設定要用哪種進位制度去轉換,這是非必要項目,沒有填寫進位制或是將進位制設為 0,則 parseInt 函數會以 10 為基礎來轉換,設為 0x 或 0X 開頭,則 parseInt 函數會以十六進位來轉換,進位制的參數值介於 2~36 之間,不一定要寫出來,請審慎使用。

JavaScript parseInt 函數範例
<script type="text/javascript">
 document.write(parseInt("10") + "<br>"); //輸出 10
 document.write(parseInt("010") + "<br>"); //輸出 10
 document.write(parseInt("15",10) + "<br>"); //輸出 15
 document.write(parseInt("15",2) + "<br>"); //輸出 1(1+NaN)
 document.write(parseInt("15",8) + "<br>"); //輸出 13
 document.write(parseInt("1k",16) + "<br>"); //輸出 1(1+NaN)
 document.write(parseInt("hi") + "<br>"); //輸出 NaN
</script>
範例結果
10
10
15
1
13
1
NaN
範例的前三組 parseInt 的進位制都採用 10 進位,所以直接將整數的字串輸出,第四組採用 2 進位制,其中的數字 1 透過 2 進位制轉換結果還是 1,數字 5 透過 2 進位制轉換為 NaN,所以輸出結果僅有 1。第五組的數字 15 透過 8 進位制轉換為整數 13。第六組與第七組的英文字母部分透過十六進位制與十進位制轉換都是 NaN。

如果將 parseInt 函數應用在 JavaScript 的加法
<script type="text/javascript">
 x="2"+3;
 document.write('未使用 parseInt 的結果是: '+x+'<br>');

 x=parseInt("2")+3;
 document.write('有使用 parseInt 的結果是: '+x);
</script>
輸出結果會像這樣
未使用 parseInt 的結果是: 23
有使用 parseInt 的結果是: 5
第一組的數字 2 用雙引號包起來,會導致 JavaScript 認為是字串 2 要與 3 連接在一起,結果變成 23,所以我們的第二組加法運算過程,使用 parseInt 函數將 "2" 轉換為數字 2,如此一來就可以順利的與數字 3 相加,獲得正確答案 5。

就像範例這樣,JavaScript parseInt 函數用在 JavaScript 的加法是非常普遍的應用,因為 JavaScript 的加法存在著加號(+)的用法錯亂問題,加號有可能是要讓字串相連,也可能是要讓字串的數字相加,這時候先用 parseInt 函數做進一步的處理會比較好一些。

延伸閱讀
© Copyright webtech.tw Since 2010