Java 文字列を数値(int)に変換する方法 - クラス Integer ホームページ制作 | 墨田区

Java 文字列を数値(int)に変換する方法 – クラス Integer

LINEで送る
Pocket

Javaで文字列(String)から整数型(int)へと変換する方法は、
Integer クラスの parseInt メソッドを利用します。

実務ではよく使いますので、しっかり理解しておきましょう。

変換できない文字列が指定されると、例外( NumberFormatException ) が発生しますので、注意が必要です!
今回は、整数型へ変換できなかった場合、デフォルト値を返すサンプルを用意しました。




【PR】マジか?!「アレ」してるLINEスタンプっていったい・・・


サンプルソース

/**
 * 文字列の引数を符号付き 10 進数の整数型として構文解析します。
 * 文字列が構文解析可能な int 値を含まない場合は、指定されたデフォルトの int 値を返します。
 *
 * @param value 構文解析対象の int 表現を含む String
 * @param defaultValue デフォルト値
 * @return 10 進数の引数で表される整数値
 */
public static int parseInt(String value, int defaultValue) {

    try {
        // intに変換して返す
        return Integer.parseInt(value);
    } catch ( NumberFormatException e ) {
        // デフォルト値を返す
        return defaultValue;
    }
}


/**
 * 文字列の引数を符号付き 10 進数の整数型として構文解析します。
 * 文字列が構文解析可能な int 値を含まない場合は、 0 を返します。
 *
 * @param value 構文解析対象の int 表現を含む String
 * @return 10 進数の引数で表される整数値
 */
public static int parseInt(String value) {

    // int変換して返す
    return parseInt(value, 0);

}

parseInt

今回は IntegerUtils というクラスを作り static メソッドとして用意しています。
内部では、Integer.parseInt を実行していますが、NumberFormatException が発生した場合は、デフォルト値を返すようにしてあります。
このようなメソッドを用意しておくことで、ビジネスロジック内に余計な try {} catch {} を書く必要がなく、ソースを美しく保つことができますので、ぜひ活用ください。

それでは、テストを実施してみましょう。


テスト

以下のようなテストソースを用意しました。

System.out.println(IntegerUtils.parseInt("1000"));
System.out.println(IntegerUtils.parseInt("1000",0));
System.out.println(IntegerUtils.parseInt("1,000",0));
System.out.println(IntegerUtils.parseInt("100.25",0));
System.out.println(IntegerUtils.parseInt("xxx"));
System.out.println(IntegerUtils.parseInt(null));

  • 1 行目:特に問題がないですね。
  • 2 行目:整数に変換できる文字列ですが、デフォルト値を設定しています。整数に変換できるので、デフォルト値は返されません。
  • 3 行目:カンマが付いているので整数に変換できない文字列です。デフォルト値が返されます。
  • 4 行目:小数点が付いているので整数に変換できない文字列です。デフォルト値が返されます。
  • 5 行目:整数に変換できない文字列です。デフォルト値が返されます。
  • 6 行目:null は整数に変換できません。デフォルト値が返されます。

結果

結果は、以下の通りです。

1000
1000
0
0
0
0

数値の変換についてご理解いただけましたか?
この辺りは実務では常に求められるので、しっかり覚えておきたいですね。

おつかれさまでした。

LINEで送る
Pocket

この記事がお役に立ちましたら シェア をお願いいたします。

コメントを残す

お名前 (必須)
メールアドレス
(アドレスは公開されません)

コメント(必須)

Trackback URL