java.text.DecimalFormat遇到5不进位问题

今天遇到一个奇怪的问题,DecimalFormat的format方法遇到小数位5不进位的问题。

产生问题原因是精度缺失造成的,解决问题的办法如下:

    public static void main(String[] args) {
        DecimalFormat df1 = new DecimalFormat("###,##0.00") ;  //保留两位小数,如果不足两位小数则自动补零  
        df1.setRoundingMode(RoundingMode.HALF_UP);
        BigDecimal bd = new BigDecimal("124.365");
        System.out.println(df1.format(bd));
    }

设置舍入模式为:RoundingMode.HALF_UP.

 

注意,

BigDecimal bd = new BigDecimal("124.365"); 此处数据需要设置为字符串类型!

 

posted @ 2018-03-05 10:50  筱小Q  阅读(425)  评论(0编辑  收藏  举报