Si ottengono risultati errati utilizzando il metodo seguente.Risultato errato per la valutazione di 100 * 2,55 valori
public double evaluate(final double leftOperand, final double rightOperand) {
Double rtnValue = new Double(leftOperand * rightOperand);
return rtnValue.doubleValue();
}
Inserire il valore del parametro sono: leftOperand = 100 e rightOperand = 2.55
sto ottenendo Risposta sbagliata: 254,99999999999997
La risposta corretta è un 255,0
obbligatorio "Quello che ogni computer Scientist dovrebbe sapere aritmetica alla virgola mobile" -LINK: http://docs.sun.com/source/806-3568/ncg_goldberg.html – Jacob
Cosa * * esatto valore fare credi che il tuo valore di "2,55" sia? –
@JonSkeet: Anche se si conosce il valore esatto sia di 2.55 sia di 100.0, la risposta sarebbe errata ... –