我想圓的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