我想圆的BigDecimal编号,以10向上或向下:Java中的BigDecimal:如何舍入到10?
112 - > 110
117 - > 120
150 - > 150
115 - > 120
114.9 - > 110
67 - > 70
64 - > 60
等
我尝试这样做:
number = number.round(new MathContext(1, RoundingMode.HALF_UP));
11 - > 10
150 - > 200 //错误!应该是150!
48 - > 50
500 - > 500
250 - > 300 //错!应该是250!
240 - > 200 //错!应该是240!
245 - > 200 //错!应该是250!
51 - > 50
我已经尝试了精密其他几个值,但我从来没有得到正确的舍入的所有值。
我在这里失踪了什么?
很好的解释。 'BigDecimal.round()'是误导性的。 Tx – mrd