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

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

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

PAGE TOP