Tuve este mismo problema, porque mi línea de código era:
txtTotalInvoice.setText(var1.divide(var2).doubleValue() + "");
Me cambio a esto, leyendo la respuesta anterior, porque no estaba escribiendo precisión decimal:
txtTotalInvoice.setText(var1.divide(var2,4, RoundingMode.HALF_UP).doubleValue() + "");
4 es precisión decimal
Y RoundingMode son constantes Enum, puede elegir cualquiera de estos
UP, DOWN, CEILING, FLOOR, HALF_DOWN, HALF_EVEN, HALF_UP
En este caso HALF_UP, tendrá este resultado:
2.4 = 2
2.5 = 3
2.7 = 3
Puede consultar la RoundingMode
información aquí: http://www.javabeat.net/precise-rounding-of-decimals-using-rounding-mode-enumeration/
Alex Montenegro1987
fuente
precision
; esscale
. Consulte docs.oracle.com/javase/7/docs/api/java/math/…