【Java】String型からBigDecimal型への型変換でエラーとなる場合の対処

この記事ではJavaのString型からBigDecimal型の型変換でエラーとなる場合の対処法を解説します。
数値にカンマを含む場合の対処
数値には「,(カンマ)」を含むケースが多くあります。
String型からBigDecimal型に型変換の際にカンマが存在する場合、エラーとなります。
String str ="1,234,567"; BigDecimal big = new BigDecimal(str); System.out.println(big); // 実行結果 「java.lang.NumberFormatException」によるエラー
「,(カンマ)」を含む場合は、以下のメソッドを使用します。
- replaceAll : 第一引数の値を第二引数の値に置換します。「,(カンマ)」を「カラ」に置換することで変換時のエラーを解消します。
String str ="1,234,567";
str = str.replaceAll(",", "");
BigDecimal big = new BigDecimal(str);
System.out.println(big);
// 実行結果
1234567
値がカラの場合の対処
0のデータがカラとして値が入るケースを想定します。
カラのデータをBigDecimal型に型変換しようとするとエラーとなります。
String str = ""; BigDecimal big = new BigDecimal(str); System.out.println(big); // 実行結果 「java.lang.NumberFormatException」によるエラー
カラの場合は条件判定して、0をセットします。String型なのでequalsメソッドを使用します。
String str = "";
if ("".equals(str)) {
str = "0";
}
BigDecimal big = new BigDecimal(str);
System.out.println(big);
// 実行結果
0

Javaの記事の一覧はJava にまとめてあります
