1、什么是BigDecimal?
BigDecimal是Java中的一个针对大小数的处理类 同样BigInteger是Java中针对大整数(超过16位)的处理类
2、BigDecimal作用能干什么?
- 用于高精密度的计算
- 用于货比的计算
3、BigDecimal怎么用?
- 计算过程中直接调用它对应的方法,不允许进行自我的+ - * / 运算
- 直接调用其中的方法
BigDecimal bigDecimal1 = new BigDecimal("0.1112");
System.out.println(bigDecimal1);
System.out.println(bigDecimal1.multiply(new BigDecimal("0.5837853")));
System.out.println(bigDecimal1.divide(new BigDecimal("0.1")));
System.out.println(bigDecimal1.add(new BigDecimal("0.1")));
System.out.println(bigDecimal1.subtract(new BigDecimal("0.1")));
4、为什么要有这个类?并且注意点是啥?
为什么要有这个类?
在高精度的计算中,我们使用Double类型的精度是不够的,并且可能会出现精度丢失。而且在实际的货比计算过程中是严谨使用自己的+ - * / 去书写运算,我们均需要去调用BigDecimal中的方法去调用运算.
注意点?
- 不能够使用new BigDecimal(Double b) 这个构造器
- 推荐使用new BigDecimal(String str)这个构造器
为什么呢?
我们来看一段代码:
执行结果:
会出现精度缺失的问题,所以推荐使用new BigDecimal(String str )这个构造器。