首先,我的搜索能力可能没有我希望的那么好,所以这种问题可能已经存在。如果是这样请告诉我..
请参阅下面的代码:
new BigDecimal("5").add(new BigDecimal("7"));
对比
new BigDecimal("5").add(new BigDecimal("7"), mathContext);
在哪些情况下我真的需要一个数学上下文(除部门除外)?
除非我划分某些东西,否则我从不使用数学上下文。据我所知,这总是有效的,那么这里的缺点可能是什么?我需要关于加法、减法和乘法的数学上下文吗?我对 BigDecimal 不太了解,我只是想用它来避免丢失任何信息,比如使用双打时。正如我有时在添加某些东西时看到带有 mathcontext 的代码,我太害怕仅仅删除它,因为我认为它是无用的......
我读了那个问题,但没有真正找到我的具体问题的正确答案......我从没有 mathcontext 的 BigDecimals 开始,然后用它们计算。所以我的问题是,在信息丢失/精度等方面,我是否会有缺点?或者这只会导致最大的信息,就是这样?
编辑:我不想四舍五入,从来没有。当然,在像 1/3 这样的除法的情况下,我必须这样做,但在加法、乘法和减法的情况下,我不需要任何舍入。那么在任何情况下我都需要数学上下文吗?