bigdecimal是處理高精度的浮點數運算的常用的乙個類
當需要將bigdecimal中儲存的浮點數值列印出來,特別是在頁面上顯示的時候,就有可能遇到預想之外的科學技術法表示的問題。
一般直接使用 bigdecimal.tostring()方法即可以完成浮點數的列印。
如:system.out.println( new bigdecimal("10000000000").tostring());
但是,tostring()方法輸出的字串並不能保證不是科學計數法。
不過在日常的使用中,用tostring()方法輸出的就是普通的數字字串而非科學計數法。
直接這麼寫:
system.out.println( new bigdecimal("100.000").tostring());
程式的輸出即為: 100.000
如果我們希望去除末尾多餘的0,那麼我們應該這麼寫:
system.out.println( new bigdecimal("100.000").striptrailingzeros().tostring());
其中,striptrailingzeros()函式就是用於去除末尾多餘的0的,但是此時程式的輸出為: 1e+2
是科學計數法,可能並不是我們想要的。
解決的方法很簡單,如果想要避免輸出科學計數法的字串,我們要用toplainstring()函式代替tostring()。如:
system.out.println( new bigdecimal("100.000").striptrailingzeros().toplainstring());
此時程式的輸出就為 100
public static void main(string args)輸出結果:
10000000000100.000
1e+2
100
JAVA中BigDecimal的字元化輸出
bigdecimal是處理高精度的浮點數運算的常用的乙個類 當需要將bigdecimal中儲存的浮點數值列印出來,特別是在頁面上顯示的時候,就有可能遇到預想之外的科學技術法表示的問題。一般直接使用 bigdecimal.tostring 方法即可以完成浮點數的列印。如 system.out.prin...
如何應用Java的BigDecimal類
建立bigdecimal物件 bigdecimal bignumber new bigdecimal 89.1234567890123456789 bigdecimal bigrate new bigdecimal 1000 bigdecimal bigresult new bigdecimal 物...
BigDecimal中divide方法注意問題
在使用 bigdecimal rate new bigdecimal 1 divide new bigdecimal 3 時拋異常 non terminating decimal expansion no exact representable decimal result原來是在做除法的時候出現了...