- Home ›
- JavaScript入門 ›
- グローバル関数 ›
- HERE
parseInt関数
文字列を整数に変換するにはparseInt関数を使います。
parseInt(str) parseInt(str, int)
文字列を整数に変換します。 パラメータ: str 対象の文字列 int 基数 戻り値: 変換された数値。対象の文字列を数値に変換できない場合はNaN
1番目の引数に指定された文字列を整数に変換します。文字列は先頭の文字から順に調べていき、数値でない文字が現れる直前までの文字列を整数に変換します。数値と判断される文字は先頭の「+」又は「-」及び数字、16進数の場合のAからFまでのアルファベットです。
parseInt("10") --> 10 parseInt("2008year") --> 2008 parseInt("-77point") --> -77
文字列の先頭の文字が数値でない文字だった場合にはNaNを返します。
parseInt("Book170") --> NaN
2番目の引数には基数を指定します。指定できる値は「2」「8」「10」「16」です。例えば基数に2を指定した場合、対象の文字列が「11」だった場合には2進数の11として解釈し結果を10進数の3で返します。また基数を16に指定した場合、対象の文字列が「11」だった場合には16進数の11として解釈し結果を10進数の17として返します。
parseInt("11", 2) --> 3 parseInt("11", 8) --> 9 parseInt("11", 10) --> 11 parseInt("11", 16) --> 17
なお基数を指定しなかった場合には対象の文字列が「0x」又は「0X」で始まる場合には基数を16として判断し、それ以外の場合には基数を10として判断します。
parseInt("0x37") --> 55 parseInt("37") --> 37
最後に空文字はNaNを返します。
parseInt("") --> NaN
では簡単なサンプルで試してみます。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <meta http-equiv="Content-Script-Type" content="text/javascript"> <title>JavaScript テスト</title> </head> <body> <script type="text/javascript" src="./js/script1_1.js"> </script> </body> </html>
function print(str){ document.write(str + "<br />"); } document.write("<p>"); print("parseInt('10') = " + parseInt("10")); print("parseInt('2008year') = " + parseInt("2008year")); print("parseInt('-77point') = " + parseInt("-77point")); print("parseInt('Book170') = " + parseInt("Book170")); print("parseInt('0x3F_01') = " + parseInt("0x3F_01", 16)); print("parseInt('11', 2) = " + parseInt("11", 2)); print("parseInt('11', 8) = " + parseInt("11", 8)); print("parseInt('11', 10) = " + parseInt("11", 10)); print("parseInt('11', 16) = " + parseInt("11", 16)); print("parseInt('') = " + parseInt("")); document.write("</p>");
上記を実際にブラウザ見てみると次のように表示されます。
( Written by Tatsuo Ikura )