double r = 5.1234;
System.out.println(r); // 结果是 5.1234
int decimalPlaces = 2;
BigDecimal bd = new BigDecimal(r);
// setScale 是不可改变的
bd = bd.setScale(decimalPlaces, BigDecimal.ROUND_HALF_UP);
r = bd.doubleValue();
System.out.println(r); //结果是 5.12
f = (float) (Math.round(n*100.0f)/100.0f);
DecimalFormat df2 = new DecimalFormat( "#,###,###,##0.00" );
double dd = 100.2397;
double dd2dec = new Double(df2.format(dd)).doubleValue(); //结果是 100.24