[英]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.