Ho provato con String.format() e il problema viene risolto... però mi sembra così tanto strano un'imprecisione del genere. Bho o_O Grazie mille comunque, sei sempre di grandissimo aiuto ^^Originariamente inviato da andbin
L'utilizzo di numeri floating-point pone diverse questioni spinose e noiose (e non posso spiegarle tutte in un post).
Si parte dal presupposto che non tutti i numeri "reali" possono essere rappresentati in modo perfetto con valori floating-point su un numero limitato di bit. 0,75 può essere rappresentato in modo perfetto. 0,8 no e nemmeno 5,6 oppure 0.1. Questi ultimi tre saranno molto molto vicini al valore che dovrebbero avere ma non potranno mai essere precisamente quel valore su un numero finito e limitato di bit.
A ciò si aggiungono gli errori introdotti dai calcoli fatti dall'algoritmo che si occupa della formattazione del numero in stringa.
Per farla breve, per formattare in modo utile un valore floating-point, usa un java.text.NumberFormat oppure usa la nuova funzionalità di formattazione (da Java 5) con format().

Rispondi quotando