カテゴリ: Javaの文字列操作 更新日: 2025/12/12

Java の文字列を数値に変換する「Integer.parseInt()」「Double.parseDouble()」

092
Java の文字列を数値に変換する「Integer.parseInt()」「Double.parseDouble()」

新人と先輩の会話形式で理解しよう

新人

「Java で文字列を数値に変換する方法はありますか?」

先輩

「Java には Integer.parseInt()Double.parseDouble() というメソッドがあって、それを使うと文字列を数値に変換できるよ。」

新人

「それを使うと、どんなことができるんですか?」

先輩

「例えば、ユーザーが入力した数値を計算に使うときや、ファイルやデータベースから取得した数値を処理するときに便利だよ。基本的な使い方を見てみよう!」

1. 文字列を数値に変換するとは?(基本的な説明)

1. 文字列を数値に変換するとは?(基本的な説明)
1. 文字列を数値に変換するとは?(基本的な説明)

プログラムでは、文字列(String)と数値(intdouble)は異なるデータ型です。そのため、数値の計算を行うためには、文字列を数値に変換する必要があります。

文字列のままだと計算できない


public class StringAddition {
    public static void main(String[] args) {
        String num1 = "10";
        String num2 = "20";
        System.out.println(num1 + num2); // 文字列の結合になる
    }
}

1020

この例では、"10""20" を足し算しようとしましたが、文字列が結合されてしまいました。

正しく計算するには、文字列を数値に変換する必要があります。そこで、Integer.parseInt()Double.parseDouble() を使います。

2. Integer.parseInt() の使い方(整数に変換)

2. Integer.parseInt() の使い方(整数に変換)
2. Integer.parseInt() の使い方(整数に変換)

Integer.parseInt() は、文字列を整数(int)に変換するメソッドです。

Integer.parseInt() の基本的な使い方


public class ParseIntExample {
    public static void main(String[] args) {
        String strNumber = "123";
        int number = Integer.parseInt(strNumber);
        System.out.println("整数に変換: " + number);
    }
}

整数に変換: 123

コードの解説

  • String strNumber = "123"; … 文字列としての数値を用意
  • Integer.parseInt(strNumber); … 文字列を整数に変換
  • System.out.println(number); … 変換後の整数を出力

このように、Integer.parseInt() を使うと、文字列の「123」を整数の 123 に変換できます。

整数に変換した値を計算に使う


public class ParseIntCalculation {
    public static void main(String[] args) {
        String strNum1 = "15";
        String strNum2 = "25";
        
        int num1 = Integer.parseInt(strNum1);
        int num2 = Integer.parseInt(strNum2);
        
        int sum = num1 + num2;
        System.out.println("足し算の結果: " + sum);
    }
}

足し算の結果: 40

コードの解説

  • 文字列の「15」と「25」を Integer.parseInt() で整数に変換
  • 変換した値を足し算して正しい結果を得る

文字列のままだと計算できませんが、数値に変換することで計算が可能になります。

数値に変換できない場合の注意点

もし、文字列が数値として正しくない場合、エラー(NumberFormatException)が発生します。


public class ParseIntError {
    public static void main(String[] args) {
        String strNumber = "abc"; // 数値ではない文字列
        int number = Integer.parseInt(strNumber); // ここでエラー
        System.out.println(number);
    }
}

Exception in thread "main" java.lang.NumberFormatException: For input string: "abc"

このように、数値以外の文字列を変換しようとするとエラーになるので注意が必要です。エラーハンドリングについては後のセクションで説明します。

3. Double.parseDouble() の使い方(小数に変換)

3. Double.parseDouble() の使い方(小数に変換)
3. Double.parseDouble() の使い方(小数に変換)

整数ではなく、小数(浮動小数点数)を扱いたい場合は Double.parseDouble() を使います。

Double.parseDouble() の基本的な使い方


public class ParseDoubleExample {
    public static void main(String[] args) {
        String strNumber = "12.34";
        double number = Double.parseDouble(strNumber);
        System.out.println("小数に変換: " + number);
    }
}

小数に変換: 12.34

コードの解説

  • String strNumber = "12.34"; … 文字列としての小数を用意
  • Double.parseDouble(strNumber); … 文字列を小数に変換
  • System.out.println(number); … 変換後の小数を出力

このように Double.parseDouble() を使うことで、小数の計算が可能になります。

4. 数値に変換できない文字列を扱うには?(エラーハンドリング)

4. 数値に変換できない文字列を扱うには?(エラーハンドリング)
4. 数値に変換できない文字列を扱うには?(エラーハンドリング)

数値に変換できない文字列を parseInt()parseDouble() に渡すと、プログラムがエラーで停止してしまいます。

エラーハンドリング(例外処理)を行う


public class ParseWithTryCatch {
    public static void main(String[] args) {
        String strNumber = "abc"; // 数値ではない文字列

        try {
            int number = Integer.parseInt(strNumber);
            System.out.println("変換成功: " + number);
        } catch (NumberFormatException e) {
            System.out.println("数値に変換できません: " + strNumber);
        }
    }
}

数値に変換できません: abc

コードの解説

  • try { ... } catch (NumberFormatException e) { ... } を使ってエラーを回避
  • エラーが発生した場合、例外処理を実行しプログラムが止まらないようにする

このように try-catch を使えば、安全に数値変換を行うことができます。

5. 変換後の数値を使って計算をする方法

5. 変換後の数値を使って計算をする方法
5. 変換後の数値を使って計算をする方法

数値に変換したデータを使って、実際に計算を行う例を見てみましょう。

小数の足し算をする


public class ParseDoubleCalculation {
    public static void main(String[] args) {
        String strNum1 = "10.5";
        String strNum2 = "5.3";

        double num1 = Double.parseDouble(strNum1);
        double num2 = Double.parseDouble(strNum2);

        double sum = num1 + num2;
        System.out.println("足し算の結果: " + sum);
    }
}

足し算の結果: 15.8

コードの解説

  • 文字列の "10.5" と "5.3" を Double.parseDouble() で小数に変換
  • 変換後の値を足し算して正しい結果を得る

このように、変換した数値を使って計算を行うことで、実際のプログラムに活用できます。

6. ユーザー入力の数値を変換する(応用例)

6. ユーザー入力の数値を変換する(応用例)
6. ユーザー入力の数値を変換する(応用例)

プログラムでは、ユーザーから入力を受け取り、それを数値に変換することがよくあります。例えば、計算アプリなどで、ユーザーが入力した数値を足し算や掛け算に使う場合です。

文字列の入力を整数に変換する


import java.util.Scanner;

public class UserInputParse {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("整数を入力してください: ");
        
        String input = scanner.nextLine();
        int number = Integer.parseInt(input);
        
        System.out.println("入力された整数: " + number);
        scanner.close();
    }
}

整数を入力してください: 42
入力された整数: 42

コードの解説

  • Scanner を使ってユーザーから文字列を入力
  • Integer.parseInt() で文字列を整数に変換
  • 変換した整数を表示

このように、Integer.parseInt() を使えば、ユーザーが入力したデータを整数に変換できます。

7. 文字列を数値に変換する際の注意点(例外処理)

7. 文字列を数値に変換する際の注意点(例外処理)
7. 文字列を数値に変換する際の注意点(例外処理)

ユーザーが誤った形式の文字列を入力すると、プログラムがエラーで止まってしまいます。そのため、例外処理を行い、エラーを防ぐ必要があります。

エラーハンドリング(例外処理)を使う


import java.util.Scanner;

public class SafeUserInput {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("整数を入力してください: ");
        
        String input = scanner.nextLine();
        try {
            int number = Integer.parseInt(input);
            System.out.println("入力された整数: " + number);
        } catch (NumberFormatException e) {
            System.out.println("エラー: 数値を入力してください");
        }
        
        scanner.close();
    }
}

整数を入力してください: abc
エラー: 数値を入力してください

コードの解説

  • try { ... } catch (NumberFormatException e) { ... } を使ってエラーを回避
  • ユーザーが誤って文字を入力した場合、エラーメッセージを表示
  • プログラムがエラーで停止しないようにする

このように、エラーハンドリングを使うことで、予期しないエラーを防ぐことができます。

8. 練習問題:「Integer.parseInt()」と「Double.parseDouble()」を使ったプログラムを作ろう

8. 練習問題:「Integer.parseInt()」と「Double.parseDouble()」を使ったプログラムを作ろう
8. 練習問題:「Integer.parseInt()」と「Double.parseDouble()」を使ったプログラムを作ろう

最後に、Integer.parseInt()Double.parseDouble() を使って、ユーザーが入力した数値を使った計算プログラムを作ってみましょう。

練習問題: ユーザーの入力を数値に変換して合計を求める


import java.util.Scanner;

public class UserInputSum {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("最初の数値を入力してください: ");
        String input1 = scanner.nextLine();
        
        System.out.print("次の数値を入力してください: ");
        String input2 = scanner.nextLine();
        
        try {
            double num1 = Double.parseDouble(input1);
            double num2 = Double.parseDouble(input2);
            double sum = num1 + num2;
            
            System.out.println("合計: " + sum);
        } catch (NumberFormatException e) {
            System.out.println("エラー: 数値を入力してください");
        }
        
        scanner.close();
    }
}

最初の数値を入力してください: 12.5
次の数値を入力してください: 7.3
合計: 19.8

コードの解説

  • ユーザーから2つの数値を入力
  • Double.parseDouble() を使って文字列を数値に変換
  • 変換後の数値を足し算し、結果を表示
  • 入力が数値でない場合はエラーメッセージを表示

このように、ユーザーの入力を数値に変換して計算することで、実用的なプログラムを作ることができます。

まとめ

まとめ
まとめ

本記事では、Java において文字列を数値に変換する方法として Integer.parseInt()Double.parseDouble() を活用する手法を、初心者にも分かりやすく丁寧に解説しました。文字列と数値は異なるデータ型であるため、計算処理に使用するには明示的な変換が不可欠です。

まず、Integer.parseInt() によって文字列から整数への変換が可能になり、足し算や掛け算などの算術演算に活用できることを学びました。次に、Double.parseDouble() を用いることで小数点を含む文字列の変換ができるため、実際の金額や時間などの細かな数値を扱うアプリケーションにも対応可能です。

また、ユーザーの入力や外部データを受け取る場合には、数値として解釈できない文字列が渡される可能性があるため、例外処理(try-catch) を通じた安全な変換方法も重要です。変換できない文字列を扱う際に発生する NumberFormatException をキャッチし、エラーを回避する方法もコードとともに紹介しました。

実際の開発では、Webアプリケーションや業務システム、入力フォームなどで文字列データが送られてくる場面が多くあります。今回紹介した parseInt()parseDouble() を活用することで、文字列入力を正しく数値に変換し、演算処理やロジックへの適用が可能になります。

応用例:文字列から変換した数値で条件分岐


public class ScoreChecker {
    public static void main(String[] args) {
        String strScore = "85";
        try {
            int score = Integer.parseInt(strScore);
            if (score >= 90) {
                System.out.println("評価: 優秀");
            } else if (score >= 70) {
                System.out.println("評価: 良好");
            } else {
                System.out.println("評価: 要努力");
            }
        } catch (NumberFormatException e) {
            System.out.println("エラー: 数値を入力してください");
        }
    }
}

評価: 良好

この例では、ユーザーが入力した文字列を Integer.parseInt() で変換し、数値に応じた評価を表示しています。文字列を数値に変換できるようになると、ロジックの条件分岐データ処理 が柔軟に行えるようになります。

先生と生徒の振り返り会話

新人

「今回の記事で、Integer.parseInt()Double.parseDouble() の使い方がすごくよく分かりました!文字列をそのまま計算に使えない理由も納得です。」

先輩

「そうだね。文字列と数値は扱い方が全然違うから、変換が必要なんだよ。さらに、例外処理も覚えておけば、安全なプログラムが作れるようになるよ。」

新人

「try-catch を使うと、間違った入力にも対応できるっていうのが便利ですね!入力フォームとかユーザーの操作が関わる場面では特に大事だと感じました。」

先輩

「まさにその通り。現実のアプリケーションでは、あらゆる入力の可能性に備えてコードを書く必要があるからね。今回学んだ parseInt()parseDouble() の知識は、Java の基本中の基本だから、しっかり覚えておこう!」

新人

「はい!これからは文字列をちゃんと数値に変換して、エラー処理も忘れずに組み込みます!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaで文字列を数値に変換するにはどのメソッドを使えばいいですか?

Javaで文字列を数値に変換するには、整数に変換する場合はInteger.parseInt()、小数に変換する場合はDouble.parseDouble()を使います。文字列の内容が数値であることが前提です。

Integer.parseInt()とDouble.parseDouble()の違いは何ですか?

Integer.parseInt()は整数(int)への変換に使い、Double.parseDouble()は小数(double)への変換に使います。扱いたい数値の形式に応じて使い分けましょう。
Javaの文字列操作の一覧へ
新着記事
Java の ArrayList に要素を削除・更新する方法
JavaのArrayListを完全解説!要素の削除・更新を初心者向けにやさしく理解しよう
Java の ArrayList を作成して要素を追加・取得する方法
JavaのArrayListを完全解説!作成・要素の追加・取得を初心者向けに丁寧に説明
Java のリストとは?配列と何が違うのかを理解しよう
Javaのリストとは?配列との違いを初心者向けにやさしく理解しよう
IAM Access Analyzerとは?未使用権限の分析・外部アクセス検出を徹底解説
IAM Access Analyzerとは?未使用権限の分析と外部アクセス検出を初心者向けに徹底解説!
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説