Tôi gặp vấn đề tương tự, bởi vì dòng mã của tôi là:
txtTotalInvoice.setText(var1.divide(var2).doubleValue() + "");
Tôi thay đổi điều này, đọc Câu trả lời trước đó, vì tôi không viết chính xác thập phân:
txtTotalInvoice.setText(var1.divide(var2,4, RoundingMode.HALF_UP).doubleValue() + "");
4 là số thập phân
AND RoundingMode là các hằng số Enum, bạn có thể chọn bất kỳ thứ nào trong số này
UP, DOWN, CEILING, FLOOR, HALF_DOWN, HALF_EVEN, HALF_UP
Trong trường hợp này HALF_UP, sẽ có kết quả này:
2.4 = 2
2.5 = 3
2.7 = 3
Bạn có thể kiểm tra RoundingMode
thông tin tại đây: http://www.javabeat.net/precise-rounding-of-decimals-USE-rounding-mode-enumutions/