在使用BigDecimal 四舍五入注意:
Double f = 3.151605;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(5, BigDecimal.ROUND_HALF_UP).doubleValue();
double a=BigDecimal.valueOf(f).setScale(5, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
System.out.println(a);
会发现结果是:
3.1516
3.15161
并不是都是3.15161;
所以要注意使用BigDecimal.valueOf()或者new BigDecimal(f.toString()),这样才会真的四舍五入
原文:http://5317968.blog.51cto.com/5307968/1732632