1,加减乘除
@Test
public void addsubtract(){
BigDecimal bignum1 = new BigDecimal("500.00");
BigDecimal bignum2 = new BigDecimal("500.01");
BigDecimal bignum3 = null;
//加法
bignum3 = bignum1.add(bignum2);
System.out.println("求和:" + bignum3);
//减法
bignum3 = bignum1.subtract(bignum2);
System.out.println("求差:" + bignum3);
//乘法
bignum3 = bignum1.multiply(bignum2);
System.out.println("乘法:" + bignum3);
//除法
bignum3 = bignum1.divide(bignum2);
System.out.println("除法:" + bignum3);
}
2,个位是0的时候,会缺失
BigDecimal itemamout = new BigDecimal("0.22");
BigDecimal tax = new BigDecimal("0.06");//税率 0.06
BigDecimal temp1 = itemamout.divide(new BigDecimal("1").add(tax), 8, BigDecimal.ROUND_HALF_UP);
DecimalFormat df1 = new DecimalFormat("#.00000000");
结果如:.20754717
解决如下:#0
DecimalFormat df1 = new DecimalFormat("#0.00000000");
结果如:0.20754717
优化
BigDecimal itemamout = new BigDecimal("10000000.22");
*
*
*
DecimalFormat df1 = new DecimalFormat("#,##0.00000000");
结果如下:
9,433,962.47169811