以前大部分關於查詢計算的邏輯是在sql語句中執行的,但是有時候會出現比較復雜的計算情況,需要我們在代碼中進行計算,這個時候使用BigDecimal進行計算會很方便。
BigDecimal num1 = new BigDecimal("10");
BigDecimal num2 = new BigDecimal("5");
BigDecimal num3 = null;
//加法
num3 = num1.add(num2);
System.out.println("num1+num2 = "+num3);
//減法
num3 = num1.subtract(num2);
System.out.println("num1-num2 = "+num3);
//乘法
num3 = num1.multiply(num2);
System.out.println("num1*num2 = "+num3);
//除法
num3 = num1.divide(num2);
System.out.println("num1/num2 = "+num3);

計算完之后可能會出現小數的情況,這種情況下需要在相應的加減乘除方法上進行變化,取2位小數且四舍五入的話可以直接在方法后加上.setScale(2, BigDecimal.ROUND_HALF_UP);
BigDecimal num1 = new BigDecimal("10");
BigDecimal num2 = new BigDecimal("5");
BigDecimal num3 = null;
//加法取2位小數且四舍五入
num3 = num1.add(num2).setScale(2, BigDecimal.ROUND_HALF_UP);
