Tôi đang cố gắng làm tròn các giá trị BigDecimal lên đến hai chữ số thập phân.
Tôi đang sử dụng
BigDecimal rounded = value.round(new MathContext(2, RoundingMode.CEILING));
logger.trace("rounded {} to {}", value, rounded);
nhưng nó không làm những gì tôi muốn một cách nhất quán:
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.74
rounded 0.819 to 0.82
Tôi không quan tâm đến các chữ số có nghĩa, tôi chỉ muốn hai chữ số thập phân. Làm cách nào để làm điều này với BigDecimal? Hoặc có một lớp học / thư viện khác phù hợp hơn với điều này?
9
Nếu bạn thực sự muốn làm tròn, bạn sẽ sử dụng RoundingMode.HALF_UP
—
Gilbert Le Blanc