加法、减法和乘法需要 Mathcontext?
Mathcontext needed for add, subtract and multiply?
首先,我的搜索能力可能没有我希望的那么好,所以这种问题可能已经存在了。如果是请告诉我..
查看下面的代码:
new BigDecimal("5").add(new BigDecimal("7"));
对
new BigDecimal("5").add(new BigDecimal("7"), mathContext);
在什么情况下我真的需要数学上下文(除了除法)?
除非除法,否则我从不使用数学上下文。据我所知,这总是有效的,那么这里的缺点是什么?我需要加、减和乘的数学上下文吗?我不太喜欢 BigDecimal,我只是想用它来不丢失任何信息,就像使用双打一样。
正如我有时在添加内容时看到带有 mathcontext 的代码,我不敢将其删除,只是因为我认为它没用...
我读过 question 但没有真正找到适合我的具体问题的答案...
我从没有 mathcontext 的 BigDecimals 开始,然后用它们计算。所以我的问题是,在信息丢失/精度等方面,我会不会有缺点?还是这只会带来最大的信息量,仅此而已?
编辑:我不想四舍五入,从来没有。对于像 1/3 这样的除法,我当然必须这样做,但是对于加法、乘法和减法,我不需要任何舍入。在任何情况下我都需要数学上下文吗?
如果您要进行数学运算,则需要四舍五入。
如果您用小数部分对两个数字进行加、减或乘,并且希望对结果进行四舍五入,也可以使用 mathcontext。
如果你不需要四舍五入,那你就不需要。
所以不仅限于避免像1/3这样的划分带来无穷无尽的休息问题
我可以想象这样一种情况,您希望结果四舍五入而 de 操作数不是。添加示例。
1.23 + 3.01 = 4.24
所以,也许您希望结果只有小数位,所以您可以使用 MathContext
来实现
1.23 + 3.01 = 4.2
我不知道真实世界的例子,但我认为它们的存在是不可想象的。
首先,我的搜索能力可能没有我希望的那么好,所以这种问题可能已经存在了。如果是请告诉我..
查看下面的代码:
new BigDecimal("5").add(new BigDecimal("7"));
对
new BigDecimal("5").add(new BigDecimal("7"), mathContext);
在什么情况下我真的需要数学上下文(除了除法)?
除非除法,否则我从不使用数学上下文。据我所知,这总是有效的,那么这里的缺点是什么?我需要加、减和乘的数学上下文吗?我不太喜欢 BigDecimal,我只是想用它来不丢失任何信息,就像使用双打一样。 正如我有时在添加内容时看到带有 mathcontext 的代码,我不敢将其删除,只是因为我认为它没用...
我读过 question 但没有真正找到适合我的具体问题的答案... 我从没有 mathcontext 的 BigDecimals 开始,然后用它们计算。所以我的问题是,在信息丢失/精度等方面,我会不会有缺点?还是这只会带来最大的信息量,仅此而已?
编辑:我不想四舍五入,从来没有。对于像 1/3 这样的除法,我当然必须这样做,但是对于加法、乘法和减法,我不需要任何舍入。在任何情况下我都需要数学上下文吗?
如果您要进行数学运算,则需要四舍五入。
如果您用小数部分对两个数字进行加、减或乘,并且希望对结果进行四舍五入,也可以使用 mathcontext。
如果你不需要四舍五入,那你就不需要。
所以不仅限于避免像1/3这样的划分带来无穷无尽的休息问题
我可以想象这样一种情况,您希望结果四舍五入而 de 操作数不是。添加示例。
1.23 + 3.01 = 4.24
所以,也许您希望结果只有小数位,所以您可以使用 MathContext
来实现
1.23 + 3.01 = 4.2
我不知道真实世界的例子,但我认为它们的存在是不可想象的。