在使用
bigdecimal rate = new bigdecimal(1).divide(new bigdecimal(3));
時拋異常:
non-terminating
decimal expansion; no exact representable decimal result
原來是在做除法的時候出現了無限不迴圈小數如:0.333333333333
解決方案
在做做除法的時候指定保留的小數的位數:
bigdecimal rate = new bigdecimal(1).divide(new bigdecimal(3), 6, bigdecimal.round_half_up);
BigDecimal中八種捨入方式
1 round up 始終對非捨棄部分前面的數字加1。0.1203456789,當精度為3的時候,按照round up模式,結果是0.121 0.1203456789,當精度為3的時候,按照round up模式,結果是 0.121 注意 0.1891,當精度為3的時候,按照round up模式,結果...
JAVA中BigDecimal的字元化輸出
bigdecimal是處理高精度的浮點數運算的常用的乙個類 當需要將bigdecimal中儲存的浮點數值列印出來,特別是在頁面上顯示的時候,就有可能遇到預想之外的科學技術法表示的問題。一般直接使用 bigdecimal.tostring 方法即可以完成浮點數的列印。如 system.out.prin...
JAVA中BigDecimal的字元化輸出
bigdecimal是處理高精度的浮點數運算的常用的乙個類 當需要將bigdecimal中儲存的浮點數值列印出來,特別是在頁面上顯示的時候,就有可能遇到預想之外的科學技術法表示的問題。一般直接使用 bigdecimal.tostring 方法即可以完成浮點數的列印。如 system.out.prin...