public static Double round(Double doubleValue, int scale){ Double flag=null; String text=doubleValue.toString(); BigDecimal bd=new BigDecimal(text).setScale(scale, BigDecimal.ROUND_HALF_UP); flag=bd.doubleValue(); return flag; } System.out.println(new BigDecimal(Double.valueOf("2500000.00").doubleValue()/Math.pow(10, 8)+"").setScale(2, BigDecimal.ROUND_HALF_UP)); System.out.println(new BigDecimal(Double.valueOf("1500000.00").doubleValue()/Math.pow(10, 8)+"").setScale(2, BigDecimal.ROUND_HALF_UP)); 解析:Math.pow(10, 8)为 10的8次方.