Javaで文字列を数値に変換する際の注意点

Javaで文字列を数値に変換する際は、IntegerクラスやDoubleクラスなどが持っているvalueOfメソッドを使うと便利です。

// 例 strには適当な文字列が入っているとする
int a = Integer.valueOf(str).intValue();
double b = Double.valueOf(str).doubleValue();

 しかし、上記の例でいうstrに不適切な値が入っているとNumberFormatException例外が発生するので注意が必要です。これにはInteger.valueOfで浮動小数点数を変換しようとするケースも含まれます。

(NumberFormatExceptionはランタイム例外なのでコンパイル時に警告は出ません)

// 例
String str = "123.45";
int a = Integer.valueOf(str).intValue(); // NumberFormatException例外が発生

 この場合、一旦double型に変換し小数点以下を切り捨てるなどしてint型に変換する必要があります。