BigDecimal类

本文记录Java学习过程中遇到的BigDecimal类~

double和float类型在运算中很容易丢失精度,造成数据的不准确性,Java为我们提供了BigDecimal类来实现浮点数据的高精度运算。

BigDecimal类的构造方法:

建议浮点数据以字符串形式给出,因为参数结果是可以预知的。

示例代码(加减乘法):

//大数据封装为BigDecimal对象
BigDecimal big1 = new BigDecimal("0.09");
BigDecimal big2 = new BigDecimal("0.01");
//add实现加法运算
BigDecimal bigAdd = big1.add(big2);
         
BigDecimal big3 = new BigDecimal("1.0");
BigDecimal big4 = new BigDecimal("0.32");
//subtract实现减法运算
BigDecimal bigSub = big3.subtract(big4);
          
BigDecimal big5 = new BigDecimal("1.105");
BigDecimal big6 = new BigDecimal("100");
//multiply实现乘法运算
BigDecimal bigMul = big5.multiply(big6);

对于浮点数据的除法运算,和整数不同,可能出现无限不循环小数,因此需要对所需要的位数进行保留和选择舍入模式。

标签: none