BigDecimal进行加减乘除计算
以前大部分关于查询计算的逻辑是在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);