1.整数型运算时,结果会自动去除小数点后面的部分,如果需要适当的保留几位小数,需要转为fload类型,分子或者分母或者都转
如:
计算5除以6,保留2位小数 BigDecimal b = new BigDecimal((float)5/6); 四舍五入保留2位 Double result = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); 如需保留3位 Double result = b.setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue();
2.第二种方法
DecimalFormat df = new DecimalFormat("0.00"); Double result = df.format((float)5/6); 如需保留3位 DecimalFormat df = new DecimalFormat("0.000"); Double result = df.format((float)5/6);
3.第三种
String percent = new BigDecimal((double)num*100/sum).setScale(2,BigDecimal.ROUND_HALF_UP)+"%";
3.BigDecimal的其他运算可见:http://blog.csdn.net/weixin_39800144/article/details/77752364
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/11690.html