BigDecimal divide除法除不盡報錯

 

用BigDecimal做除法的時候,直接拿起兩數懟上除法有時候會出現除不盡就會報錯,

        列如:

            BigDecimal a = new BigDecimal(10);
            BigDecimal re = a.divide(new BigDecimal(3));
            System.out.println(re);

       或:

    BigDecimal a = new BigDecimal(10);
    BigDecimal re = a.divide(new BigDecimal(3)).setScale(2, BigDecimal.ROUND_HALF_UP);
    System.out.println(re);

 

直接這樣除是會出現除不盡報錯的,解決辦法:除的時候直接截取位數就好了

            BigDecimal a = new BigDecimal(10);
            BigDecimal re = a.divide(new BigDecimal(3),2,BigDecimal.ROUND_HALF_UP);
            System.out.println(re);

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章