BigDecimal mData = new BigDecimal(4561*0.005).setScale(2, BigDecimal.ROUND_HALF_UP);
System.out.println("----"+mData.toString());本来是结果22.805四舍五入得22.81
可是结果:22.80怎么才能得到22.81呢
System.out.println("----"+mData.toString());本来是结果22.805四舍五入得22.81
可是结果:22.80怎么才能得到22.81呢
BigDecimal mData = new BigDecimal(4561*0.005).setScale(2, BigDecimal.ROUND_HALF_DOWN);
ROUND_HALF_DOWN : 遇到.5的情况时往下近似,例: 1.5 ->;1
System.out.println("----"+mData.toString()); 试试这个吧,原因还在查看,枚举常量不同。希望能帮到你