float iRound=(float)12.3456; BigDecimal bigdecimal = new BigDecimal(iRound); float fm = (float) bigdecimal .setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 绿色的2为保留的小数位数. *此方法只适用于对精度要求不高的,且所要四舍五数的位数小到15位的.