JavaScript/parseInt
parseInt()
は、文字列を解析して整数を返すJavaScriptの組み込み関数です。この関数は、文字列の先頭から解析を開始し、整数部分を抽出して返します。数値部分が見つかった場合、その整数部分を返し、それ以外の部分は無視されます。解析できない場合は NaN
を返します。
構文
編集parseInt(string, radix)
引数
編集string
- 解析対象の文字列です。
string
は必ずしも文字列である必要はなく、任意の型の値を指定できます。非文字列型の値は自動的に文字列に変換されます。
- 解析対象の文字列です。
radix
(オプション)- 基数(進数)を指定します。
radix
は 2 から 36 の範囲の整数で指定します。指定しない場合、または 0 の場合は、文字列の先頭に基づいて基数が自動的に決定されます(例えば、0x
で始まる文字列は16進数として解釈されます)。
- 基数(進数)を指定します。
- 例
parseInt("10"); // 10 (10進数) parseInt("10", 2); // 2 (2進数) parseInt("10", 16); // 16 (16進数)
戻り値
編集parseInt()
は、指定された文字列の最初に現れる整数を解析し、その整数部分を返します。文字列の先頭に整数部分が存在しない場合は NaN
(Not-a-Number)を返します。
- 数値が見つかった場合は、その整数を返します。
- 数値が見つからなかった場合(または解析できない場合)は、
NaN
を返します。
- 例
parseInt("123px"); // 123 parseInt("abc123"); // NaN parseInt("10.5"); // 10 parseInt(" 100 "); // 100 parseInt("0x10"); // 16
特徴
編集parseInt()
は、文字列の最初の部分を解析し、整数として解釈可能な部分だけを取り出します。数値以外の文字が現れた時点で解析を停止し、それ以降の文字は無視されます。整数部分が最初に見つからない場合、NaN
が返されます。
- 空白は無視されます。文字列の先頭に空白があっても解析されます。
+
や-
の符号、16進数表記(例:0x
)もサポートされます。radix
引数を使用して、基数を指定できます。基数は 2 から 36 の間で指定できます。
- 例
parseInt(" 123 "); // 123 parseInt("-0xF"); // -15 parseInt("10.5"); // 10 parseInt("1e2"); // 1 parseInt("0x1A"); // 26 parseInt("101", 2); // 5 (2進数)
parseInt()
は、整数を解析できない場合に NaN
を返します。この場合、NaN
はJavaScriptの特別な値で、"Not-a-Number" を意味します。NaN
は数値と比較しても常に false
を返すため、特別な方法でその判定を行う必要があります。isNaN()
関数を使用して NaN
かどうかを確認できます。
- 例
const result = parseInt("abc"); console.log(result); // NaN console.log(isNaN(result)); // true
使用例
編集以下にいくつかのparseInt()
の使用例を示します。
1. 文字列から整数を抽出:
const value = parseInt("100px"); console.log(value); // 100
2. 異なる基数での解析:
const binary = parseInt("1010", 2); console.log(binary); // 10 (2進数) const hex = parseInt("FF", 16); console.log(hex); // 255 (16進数)
3. 無効な文字列の解析:
const invalid = parseInt("abc123"); console.log(invalid); // NaN
関連メソッド
編集parseFloat()
- 文字列を解析して浮動小数点数を返します。parseInt()
と似ていますが、浮動小数点数として小数部分も考慮されます。Number()
- より厳密に文字列を数値に変換します。parseInt()
よりも解析の幅が広いですが、数値でない文字列にはNaN
を返します。
まとめ
編集parseInt()
は、文字列を整数として解釈するために使用される関数であり、文字列の先頭に現れる整数部分を返します。数値以外の文字が現れると、それ以降の文字は無視され、整数部分のみが返されます。無効な文字列が与えられた場合は NaN
が返されます。この関数は、特定の基数での解析をサポートし、ユーザー入力や文字列データを扱う際に便利です。