Hallo,
ich versuche gerade eine Rechnung nachzustellen, aber scheitere an der Rundung:
Der erwartete Wert ist: 8,93 EUR
Ich bekomme aber 8,92 EUR
Wo ist mein Denkfehler?
ich versuche gerade eine Rechnung nachzustellen, aber scheitere an der Rundung:
Rechnungspositionen werden auf zwei Nachkommastellen symmetrisch gerundet. Die Regeln der symmetrischen Rundung (Banker's Rounding / Round to Even) sind hier erklärt.
Der erwartete Wert ist: 8,93 EUR
Ich bekomme aber 8,92 EUR
Java:
BigDecimal priceTotalNet = new BigDecimal(7.5);
BigDecimal tax = new BigDecimal(1.19).setScale(2, RoundingMode.HALF_EVEN);
BigDecimal result = priceTotalNet.multiply(tax).setScale(2, RoundingMode.HALF_EVEN);
System.out.print(result);
Wo ist mein Denkfehler?
Zuletzt bearbeitet: