Ich hatte das gleiche Problem, denn meine Codezeile war:
txtTotalInvoice.setText(var1.divide(var2).doubleValue() + "");
Ich ändere dies, wenn ich die vorherige Antwort lese, weil ich keine Dezimalpräzision geschrieben habe:
txtTotalInvoice.setText(var1.divide(var2,4, RoundingMode.HALF_UP).doubleValue() + "");
4 ist Dezimalpräzision
AND RoundingMode sind Enum-Konstanten, Sie können eine der folgenden Optionen wählen UP, DOWN, CEILING, FLOOR, HALF_DOWN, HALF_EVEN, HALF_UP
In diesem Fall führt HALF_UP zu diesem Ergebnis:
2.4 = 2
2.5 = 3
2.7 = 3
Sie können die RoundingMode
Informationen hier: http://www.javabeat.net/precise-rounding-of-decimals-using-rounding-mode-enumeration/