Caution
お使いのブラウザはJavaScriptが実行できない状態になっております。
当サイトはWebプログラミングの情報サイトの為、
JavaScriptが実行できない環境では正しいコンテンツが提供出来ません。
JavaScriptが実行可能な状態でご閲覧頂くようお願い申し上げます。
Integer.parseInt() / Double.parseDouble()
文字列として受け取った数値を、プログラムで計算できる数値型に変換するメソッドです。ユーザー入力やファイルから読み込んだ値を数値として扱う際に使用します。変換できない文字列が渡された場合は例外がスローされます。
構文
// 文字列を int に変換します。 int 変数名 = Integer.parseInt(文字列); // 文字列を double に変換します。 double 変数名 = Double.parseDouble(文字列); // 文字列を float に変換します。 float 変数名 = Float.parseFloat(文字列); // 文字列を long に変換します。 long 変数名 = Long.parseLong(文字列);
メソッド一覧
| メソッド | 概要 |
|---|---|
| Integer.parseInt(String s) | 文字列を int 型に変換します。変換できない場合は NumberFormatException がスローされます。 |
| Double.parseDouble(String s) | 文字列を double 型に変換します。 |
| Float.parseFloat(String s) | 文字列を float 型に変換します。 |
| Long.parseLong(String s) | 文字列を long 型に変換します。 |
サンプルコード
// 文字列を int に変換します。
String numStr = "42";
int num = Integer.parseInt(numStr);
System.out.println(num + 10); // 『52』と出力されます。
// 文字列を double に変換します。
String priceStr = "3.14";
double price = Double.parseDouble(priceStr);
System.out.println(price * 2); // 『6.28』と出力されます。
// 文字列を long に変換します(大きな数値)。
String bigStr = "9999999999";
long big = Long.parseLong(bigStr);
System.out.println(big); // 『9999999999』と出力されます。
// 変換できない文字列は例外をスローします。
try {
int invalid = Integer.parseInt("abc"); // NumberFormatException がスローされます。
} catch (NumberFormatException e) {
System.out.println("変換できません: " + e.getMessage());
}
// 数値を文字列に変換する(逆方向)には String.valueOf() を使います。
int value = 100;
String str = String.valueOf(value);
System.out.println(str.getClass().getSimpleName()); // 『String』と出力されます。
概要
『parseInt()』などのパースメソッドは、変換できない文字列(アルファベット・空文字・スペースのみなど)が渡された場合に NumberFormatException をスローします。ユーザー入力などの不確実な値を変換する場合は try-catch で例外処理を行ってください。
『Integer.parseInt(文字列, 基数)』の2引数版を使うと、2進数・8進数・16進数の文字列を10進数に変換することもできます(例: Integer.parseInt("FF", 16) は 255)。
整数の定数・進数変換については『Integer.MAX_VALUE / MIN_VALUE / toBinaryString()』を参照してください。
記事の間違いや著作権の侵害等ございましたらお手数ですがこちらまでご連絡頂ければ幸いです。