BigDecimal 类
float 类型和double很容易丢失精度 , 所以为了能精确的表示 计算浮点数 ,java提供了 BigDecimal
float类型的数据存储和整数不一样,他们大部分的时候都是带有有效数字位的
BigDecimal 类 : 不可变 ,任意精度的有符号十进制数 ,可以解决数据丢失问题
构造方法:
public BigDecimal ( String val )
public BigDecima add ( BigDecima val ) ; 加
public BigDecima subtract ( BigDecima val ); 减
public BigDecima multiply ( BigDecima val ) ; 乘
public BigDecima divide ( BigDecima val ) ; 除
public BigDecimal divide ( BigDecima val ,int scale , int roundingMode )
商 , 几位小数 , 如何取舍 (BigDecimal.ROUND_HALF_UP)四舍五入
public static void main(String[] args) {
BigDecimal bd=new BigDecimal("0.01");
BigDecimal bd2 =new BigDecimal("0.02");
System.out.println("add: "+bd.add(bd2));
System.out.println("subtract : "+ bd.subtract(bd2));
System.out.println("multiply:" + bd.multiply(bd2));
System.out.println("divide: "+ bd.divide(bd2));
System.out.println("---"+bd.divide(bd2, 2, BigDecimal.ROUND_HALF_UP));
}