C'è sempre un errore di macchina nelle operazioni di somma tra floating point.
Più i numeri sono vicini (come grandezza), più l' errore è piccolo.
Dipende anche dai dati, un numero può non avere la sua rappresentazione esatta, ma arrotondata.
Puoi sempre risolvere usando la printf di System.out per stampare una cifra sola:

codice:
System.out.printf("%1$.1f", s);
Oppure usare DecimalFormat.