1. 背景
昨天和小伙伴排查一个问题时,发现一个 BigDecimal 精度丢失的问题,即
double a = 1.1;
BigDecimal ba = new BigDecimal(a).subtract(new BigDecimal(0.1));
System.out.println(ba);
输出:
1.0000000000000000832667268468867405317723751068115234375
随后测试了其他类型转为 BigDecimal 后参与计算的效果。
int c = 1;
BigDecimal cb = new BigDecimal(c).subtract(new BigDecimal(0.1));
System.out.println("int---" + cb);
Integer ci = 1;
BigDecimal cbi = new BigDecimal(ci).subtract(new BigDecimal(0.1)

最低0.47元/天 解锁文章
3896

被折叠的 条评论
为什么被折叠?



