天天看点

BigDecimal

不论是float 还是double都是浮点数,而计算机是二进制的,浮点数会失去一定的精确度。

虽然双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。float和double只能用来做科学计算或者是工程计算,

1. 在商业计算中要用java.math.BigDecimal,用来对超过16位有效位的数进行精确的运算。

BigDecimal创建的是对象,不能使用+、-、*、/等直接对其对象进行数学运算,而是调用其相对应的方法。方法中的参数也必须是BigDecimal的对象。

例如:

输出:

2. 构造器描述:

在涉及到double数据时,建议优先使用String构造方法,即​<code>​Double.toString(double)​</code>​​<code>​转成String​</code>​

例子:

结果:

3. 方法描述:

4. 注意divide方法:

divide(BigDecimal,保留小数点后几位小数,舍入模式)

舍入模式:

5. 使用: