java中BigDecimal的四捨五入小記

static class test{    public static void main(String[] args) {        BigDecimal b=new BigDecimal(45);        BigDecimal c=new BigDecimal(7);        //45除以7=6.428571428571429        //6.428571->6.42858        System.out.println(b.divide(c,5,BigDecimal.ROUND_UP));        //6.428571->6.42857        System.out.println(b.divide(c,5,BigDecimal.ROUND_DOWN));        //若是咱們按照上面的理解,獲得的結果應該一個是6.429,一個是6.428               //可是實際的運行結果都是6.429        //這兩個的本質都是四捨五入,若是你的結果總位數超過了你要保留的位數,都是按照四捨五入。        //只有你的結果的位數剛好比要保留的位數多一位,而且最後一位是剛好是5,才按照以前的規則進行運算。        System.out.println(b.divide(c,3,BigDecimal.ROUND_HALF_UP));        System.out.println(b.divide(c,3,BigDecimal.ROUND_HALF_DOWN));    }}
相關文章
相關標籤/搜索