Per maneggiare marenghi usa BigDecimal. Consente, tra l'altro, di controllare precisione ed arrotondamenti. Ad esempio:
Codice:
MathContext ctx = new MathContext(14);
BigDecimal prezzo = new BigDecimal(prezzoDiListino, ctx);
BigDecimal sconto = new BigDecimal(scontoDaApplicare, ctx);
BigDecimal cento = new BigDecimal("100", ctx);
BigDecimal risultato = prezzo.subtract(
prezzo.multiply(sconto).divide(cento));
risultato = risultato.setScale(2, ctx.getRoundingMode());
System.out.println(risultato);