在开发过程中经常会遇到精确计算,比如金额相关的计算,如果出现了精度丢失那肯定是不行了,所以就需要用到BigDecimal来进行相关的计算。
下面分别对普通的Java计算以及两种不同的BigDecimal初始化方式进行介绍。
-
普通的Java计算
package test;
public class NormalCalculate {
public static void main(String[] args) {
double a = 1.2;
double b = 1;
double c = a - b;
System.out.println(c);
}
}
结果为
0.19999999999999996
显然出现了精度丢失, 在需要精确计算的业务场景,肯定是不能使用这种方式进行计算的。
-
使用数值类型进行BigDecimal的初始化
什么是使用数值类型进行BigDecimal的初始化呢?
// 使用数值类型进行BigDecimal的初始化就是指传入构造函数中的参数是数值类型
BigDecimal decimaA = new BigDecimal(1.2);
BigDecimal decimaB &#