Java 常用对象-BigDecimal

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

 

posted @ 2017-11-02 22:29  hyserendipity  阅读(816)  评论(0编辑  收藏  举报