3.BigDecimal
3.1介绍
BigDecimal是Java在java.math包中提供的线程安全的API类。用于解决小数运算中, 出现的不精确问题
3.2创建对象
BigDecimal所创建的是对象,故我们不能使用传统的+、-、*、/等算术运算符直接对其对象进行数学运算,而必须调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。构造器是类的特殊方法,专门用来创建对象,特别是带有参数的对象。
3.2.1BigDecimal常用构造方法
方法 | 含义 |
---|---|
BigDecimal(int val) | 创建一个具有参数所指定整数值的对象。 |
BigDecimal(double val) | 创建一个具有参数所指定双精度值的对象。不推荐使用,因为存在精度丢失问题 |
BigDecimal(long val) | 创建一个具有参数所指定长整数值的对象。 |
BigDecimal(String val) | 创建一个具有参数所指定以字符串表示的数值的对象。 推荐使用 |
3.3常用方法
方法名 | 说明 |
---|---|
public BigDecimal add(BigDecimal b) | 加法 |
public BigDecimal subtract(BigDecimal b) | 减法 |
public BigDecimal multiply(BigDecimal b) | 乘法 |
public BigDecimal divide(BigDecimal b) | 除法 |
public BigDecimal divide (另一个BigDecimal对象,精确几位,舍入模式) | 除法 |
divide细节 舍入模式
-
RoundingMode.UP 进一法
-
RoundingMode.DOWN 去尾法
-
RoundingMode.HALF_UP 四舍五入(常用)