2
我如何正确将BigDecimal舍入到最接近的整值?Round BigDecimal到最接近的整数值
例如
1.2 --> 1
1.5 --> 2
1.6 --> 2.
我试图
BigDecimal val = new BigDecimal(1.5);
System.out.println(val.setScale(0, RoundingMode.HALF_UP))
但是,这仍然给了我1不2的预期。
有没有人碰巧知道如何正确地做到这一点?
感谢
[你确切的代码输出2对于我来说,ideone](http://ideone.com/AoQnQ),一定有其他的东西,你做的是错的。 – dasblinkenlight 2012-03-26 18:02:48
也适合我。 – gorjusborg 2012-03-26 18:08:16
将您的数字乘以10,并将其作为测试前的小数位数。在你的例子中,你会乘以10.这将显示你在setScale中使用的数字。 – 2012-03-26 18:11:44