在使用BigDecimal类来进行计算的时候,主要分为以下步骤:
- 用float或者double变量构建BigDecimal对象。
- 通过调用BigDecimal的加,减,乘,除等相应的方法进行算术运算。
- 把BigDecimal对象转换成float,double,int等类型。
new BigDecimal(...)填写构造函数的时候,要使用String,而不要使用float或者double,否则同样会引起精度丢失
使用BigDecimal的构造方法或者静态方法的valueOf()方法把基本类型的变量构建成BigDecimal对象。
//float和double类型传入到BigDecimal中传入String类型,建议采用下面这种方式:
BigDecimal b1 = new BigDecimal(Double.toString(0.48));
BigDecimal b2 = BigDecimal.valueOf(0.48);
加减乘除
public BigDecimal add(BigDecimal value); //加法
public BigDecimal subtract(BigDecimal value); //减法
public BigDecimal multiply(BigDecimal value); //乘法
public BigDecimal divide(BigDecimal value); //除法
将BigDecimal对象转换成相应的基本数据类型的变量,可以使用floatValue(),doubleValue()等方法。
BigInteger和BigDecimal差不多