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