Java中使用BigDecimal的舍入模式

Java中使用BigDecimal的舍入模式,第1张

Java中使用BigDecimal的舍入模式

该行为在Javadoc中有很好的描述:

舍入模式向“最近的邻居”舍入, 除非两个邻居都等距,在这种情况下,向偶数邻居舍入

因此,给定数字4.5,当您调用它时,它恰好位于4到5之间的数字范围的中间:

BigDecimal value1 = new BigDecimal("4.5").setScale(RoundingMode.ROUND_HALF_EVEN);

运行时也需要找出要舍入的邻居,也就是应该舍入到4或舍入到5?通常,它将基于哪个值4.5更接近,但在这种情况下,它接近 两个
邻居。与其随意选择最终结果,不如选择偶数。这是的行为

ROUND_HALF_EVEN
。如果需要,您可以指定
ROUND_HALF_UP
最终结果为5,而不是4。此外,请记住,关于四舍五入的确定取决于最终结果(而不是整数的小数部分)大十进制数,就像您已经假设的那样)。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5623232.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存