BigDecimal.ROUND_HALF_UP表示四舍五入,BigDecimal.ROUND_HALF_DOWN也是五舍六入,BigDecimal.ROUND_UP表示进位处理(就是直接加1),BigDecimal.ROUND_DOWN表示直接去掉尾数。

 double d = 114.145;
 BigDecimal b = new BigDecimal(d);
 d = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();        
 System.out.println(d);