在使用BigDecimal 四捨五入注意:
Double f = 3.151605;
BigDecimal b = new BigDecimal(f);
double f1 = b.setScale(5, BigDecimal.ROUND_HALF_UP).doubleValue();
double a=BigDecimal.valueOf(f).setScale(5, BigDecimal.ROUND_HALF_UP).doubleValue();
System.out.println(f1);
System.out.println(a);
會發現結果是:
3.1516
3.15161
並不是都是3.15161;
所以要注意使用BigDecimal.valueOf()或者new BigDecimal(f.toString()),這樣纔會真的四捨五入