我如何正确将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。
有没有人碰巧知道如何正确地做到这一点?
由于
答案 0 :(得分:4)
BigDecimal val = new BigDecimal(1.2);
System.out.println(val.setScale(0, RoundingMode.HALF_UP));
val = new BigDecimal(1.5);
System.out.println(val.setScale(0, RoundingMode.HALF_UP));
val = new BigDecimal(1.6);
System.out.println(val.setScale(0, RoundingMode.HALF_UP));
结果:
1
2
2
我看不出问题出在哪里