【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 にまとめてあります