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

【Java】BigDecimalクラスで計算を複数実施する方法

【Java】BigDecimalクラスで計算を複数実施する方法

JavaのBigDecimalクラスで1行で計算してあげるには.add(変数1).add(変数2)といった形に連結させていけば良いです。

例えばBigDecimalクラスで3+3+2とするのであれば以下のようになります。

BigDecimal b1 = new BigDecimal("3");
BigDecimal b2 = new BigDecimal("2");
// 3+3+2
b1 =b1.add(b1).add(b2);
System.out.println(b1);

// 実行結果
8

計算を複数で実施する際の注意点について

 複数で計算する際は左から順にメソッドを実行します。

 したがって、四則演算の乗算や除算が優先されるということはBigDecimalではされません。

 例えば、3+2*3-2の場合は以下の手順で13となります。

  1. 3+2=5
  2. 5*3=15
  3. 15-2=13
BigDecimal b1 = new BigDecimal("3");
BigDecimal b2 = new BigDecimal("2");
// 3+2*3-2
b1 =b1.add(b2).multiply(b1).subtract(b2);
System.out.println(b1);

// 実行結果
13

 なお、四則演算の乗算や除算が優先されるには以下のようにメソッド実行の際に値をまとめればよいです

 例えば、3+2*3-2はb1.add(b2.multiply(b1)).subtract(b2);という形にすれば実装可能です。

BigDecimal b1 = new BigDecimal("3");
BigDecimal b2 = new BigDecimal("2");
// 3+(2*3)-2
b1 =b1.add(b2.multiply(b1)).subtract(b2);
System.out.println(b1);

// 実行結果
7

 

Javaの記事一覧へ

PAGE TOP