1. 程式人生 > >Java 常用對象-BigDecimal

Java 常用對象-BigDecimal

初始化 常用方法 ring tostring image 十進制數 0.10 數值 cal

2017-11-02 22:03:14

BigDecimal類不可變的、任意精度的有符號十進制數。BigDecimal 由任意精度的整數非標度值 和 32 位的整數標度 (scale) 組成。如果為零或正數,則標度是小數點後的位數。如果為負數,則將該數的非標度值乘以 10 的負 scale 次冪。因此,BigDecimal 表示的數值是 (unscaledValue × 10-scale)

BigDecimal 類提供以下操作:算術、標度操作、舍入、比較、哈希算法和格式轉換。toString() 方法提供 BigDecimal 的規範表示形式。

        System.out.println(0.09+0.01);
        System.out.println(1.0-0.32);
        System.out.println(1.015*100);
//        0.09999999999999999
//        0.6799999999999999
//        101.49999999999999

Java中float和double存儲會有精度問題,所以引入了BigDecimal類。

*構造方法:

技術分享

技術分享

最好使用字符串進行初始化。

*常用方法:

技術分享

技術分享

技術分享

技術分享

BigDecimal bd1=new BigDecimal("0.01");
System.out.println(bd1.add(new BigDecimal("0.09")));
//0.10

Java 常用對象-BigDecimal