为什么用java.math.BigDecimal 不用float和double
发布网友
发布时间:2022-10-03 00:19
我来回答
共1个回答
热心网友
时间:2023-01-23 17:06
float和 double 计算的时候 , 主要是减法 , 会丢失精度 , 比如:
float a = 1.2f;
float b = 1.1f;
float c = a-b;
System.out.println(c);
这个时候 c是0.100000024
不只是在java中 , 数据库浮点型减法也会有这个问题
而 Decimal 是精确计算 , 理论上可以无限大 , 所以一般牵扯到金钱的计算 , 都使用 Decimal