本サイトはプロモーション(広告)が含まれています。

【Java】BigDecimalのaddで加算されない場合確認する点

【Java】BigDecimalのaddで加算されない場合確認する点

JavaのBigDecimalクラスで数値の加算されない場合は以下の点を確認すれば解消できます

  • 加算後の値を受け取っているかどうか確認する。

BigDecimalクラスはString型などと同様に不変のオブジェクトです。

そのため値を代入してあげなければ、数値に変更されません

  • 変数1.add(変数2);⇒値を受け取っていないためNG
  • 変数1 = 変数1.add(変数2);⇒変数1に変数2を加算した値を変数1に受け取っているためOK
// 値を受け取っていないためNGの例
BigDecimal b1 = new BigDecimal("3");
BigDecimal b2 = new BigDecimal("2");
// 加算処理を実施するが値を受け取っていないため反映されない
b1.add(b2);
System.out.println(b1);

// 実行結果
3

 値を受け取っていないため3+2=5とならず、変数b1の3のままです。

// 値を受けとり正常に加算される例
BigDecimal b1 = new BigDecimal("3");
BigDecimal b2 = new BigDecimal("2");
// 加算処理を実施するが値を受け取っていないため反映されない
b1 = b1.add(b2);
System.out.println(b1);

// 実行結果
5

 値を受け取ることで加算処理が正常にされていることを確認できます。

Javaの記事一覧へ

PAGE TOP