问题
I\'m trying to round BigDecimal values up, to two decimal places.
I\'m using
BigDecimal rounded = value.round(new MathContext(2, RoundingMode.CEILING));
logger.trace(\"rounded {} to {}\", value, rounded);
but it doesn\'t do what I want consistently:
rounded 0.819 to 0.82
rounded 1.092 to 1.1
rounded 1.365 to 1.4 // should be 1.37
rounded 2.730 to 2.8 // should be 2.73
rounded 0.819 to 0.82
I don\'t care about significant digits, I just want two decimal places. How do I do this with BigDecimal? Or is there another class/library better suited to this?
回答1:
value = value.setScale(2, RoundingMode.CEILING)
来源:https://stackoverflow.com/questions/15643280/rounding-bigdecimal-to-always-have-two-decimal-places