我正在制作一个关于接受double
或BigDecimal
类似的计算模块,但我有这个问题。
double x = 2.3333333333312398;
BigDecimal big = BigDecimal.valueOf(2.3333333333312398);
我打印他们的价值观
System.out.println(x);
System.out.println(big);
和输出
2.3333333333312396
2.3333333333312396
我试图将x
和big
变量的值更改为2.3333333333312395
但输出仍然相同。我再次将其更改为2.3333333333312396
并打印相同的值。
如果我再次更改为再次2.3333333333312394
显示的奇怪值
2.3333333333312396
这个问题的原因是什么?谢谢!