Math中的round方法只能四舍五入到整数位,也就是说结果是整数(long或者int),但在有些时候要保存到小数点后面的若干位,这个时候BigDecimal就派上用场了,例子如下:
public static double formatDouble(double beFormat,int length){
BigDecimal data = new BigDecimal(beFormat);
BigDecimal formated = data.setScale(length,BigDecimal.ROUND_HALF_UP);
return formated.doubleValue();
}
运行上面的程序
double d=50.3656847d;
double f=formatDouble(d,5);
System.out.println(f);
得到的结果为50.36568(四舍五入到小数点后五位)