コンテンツにスキップ

JavaScript/parseInt

出典: フリー教科書『ウィキブックス(Wikibooks)』

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進数)

NaN の取り扱い

[編集]

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 が返されます。この関数は、特定の基数での解析をサポートし、ユーザー入力や文字列データを扱う際に便利です。