繁体   English   中英

使用BigDecimal ROUND_HALF_EVEN舍入会产生错误的输出吗?

[英]Do I get wrong output with BigDecimal ROUND_HALF_EVEN rounding?

我使用的BigDecimal数字的四舍五入问题ROUND_HALF_EVEN描述这里

我想四舍五入到小数点后两位:

BigDecimal number1 = new BigDecimal("23.867995");
BigDecimal number2 = new BigDecimal("23.868");
Log.d("tag", number.setScale(2, BigDecimal.ROUND_HALF_EVEN) + ", " + );

输出:

23.87

但是数字6是偶数,所以它应该是23.86吗?

它大约是一半,甚至不是全部。 当数字位于两个可能取整的选项之间的中间位置时,它将趋向于偶数。 如果它比另一个更接近一个选项,则选择更接近的选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM