定义
因为float,double两种基本类型得浮点数容易引起精度丢失,所以java提供了BigDecimal类,该类提供大量得构造器用于创建BigDecimal对象,包括把所有得基本数值型变量转换成一个BigDecimal对象。
BigDecimal a = new BigDecimal(“10”);
BigDecimal b1 = new BigDecimal(“20”);
BigDecimal c =null;
构造器
常用:
1.BigDecimal BigDecimal(String s);
2.static BigDecimal valueOf(double d);
不允许使用:
BigDecimal BigDecimal(double d);
注意:
1. double 参数的构造方法,不允许使用!!!!因为它不能精确的得到相应的值,值会变大;
2.String 构造方法是完全可预知的: 写入 new BigDecimal("0.1") 将创建一个 BigDecimal,它正好等于预期的0.1; 因此,通常建议优先使用 String 构造方法;
3. 静态方法 valueOf(double val) 内部实现,仍是将 double 类型转为 String 类型; 这通常是将 double(或float)转化为 BigDecimal 的首选方法;
加法
c=a.add(b1);
减法
c=a.subtract(b1);
乘法
c=a.multiply(b1);
除法
c=a.divide(b1);