JavaのBigDecimalについて
JavaのBigDecimalは、プリミティブデータ型(値型)では、使用することが出来る四則演算式(+,-,*,/)が使用出来ません。そのためにBigDecimalクラスのメソッドを使用します。 さらに、BigDecimalは、全ての比較演算子(<、==、>、>=、!=、<=)が使用できません。 BigDecimalの比較には、compareToメソッドを使用します。 compareToメソッドで比較したBigDecimaより小さい場合は-1、等しい場合は0、大きい場合は1が戻り値になります。
四則演算のサンプルソース
import java.math.BigDecimal; /** * 計算クラス(BigDecimal) */ public class Compute { /** * 計算(BigDecimal) */ public static void main(String[] args) { BigDecimal su1 = new BigDecimal("1"); BigDecimal su2 = new BigDecimal("4"); BigDecimal su3 = null; // 加算 su3 = su1.add(su2); System.out.println("加算:" + su3.toString()); // 減算 su3 = su1.subtract(su2); System.out.println("減算:" + su3.toString()); // 乗算 su3 = su1.multiply(su2); System.out.println("乗算:" + su3.toString()); // 除算:少数が1桁になるように四捨五入 su3 = su1.divide(su2, 1,BigDecimal.ROUND_HALF_UP); System.out.println("除算(四捨五入):" + su3.toString()); // 除算:少数が1桁になるように切捨て su3 = su1.divide(su2, 1,BigDecimal.ROUND_HALF_DOWN); System.out.println("除算(切捨て):" + su3.toString()); } }実行結果
加算:5 減算:-3 乗算:4 除算(四捨五入):0.3 除算(切捨て):0.2
BigDecimalの比較のサンプルソース
BigDecimal su1 = new BigDecimal("1"); BigDecimal su2 = new BigDecimal("4"); if(su1.compareTo(su2) < 0) { // ここが処理されます。 }