|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Bannato
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
|
[JAVA] Problemino con i float...
Ciao a tutti,
ho un problema nella gestione dei float. In pratica ho n float da sommare tra loro, originariamente con una o due cifre decimali (quindi del tipo x.x o x.xx). Quando sommo i numeri tra loro, però, noto una certa perdita di precisione, ed il risultato non "si contiene" a due cifre dopo la virgola ma va oltre (ad esempio il risultato dovrebbe venire 35.47 e invece mi ritrovo 35.46999996). Come posso fare per approssimare anche il risultato a due cifre dopo la virgola? Ho pensato di: moltiplicare il risultato per 100, aggiungergli 0,5 e castrarlo ad int, ed infine dividerlo per 100 riassegnandolo ad un float. Ma non funge (mi elimina le cifre decimali).
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
|
|
|
|
|
|
#3 |
|
Bannato
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
|
EDIT
Ultima modifica di PaVi90 : 13-04-2008 alle 18:30. |
|
|
|
|
|
#4 |
|
Bannato
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
|
Il primo metodo non posso usarlo... mi serve necessariamente un float in uscita!!
Il secondo metodo cosa fa? Stampa a video? E' una print line? Thanks |
|
|
|
|
|
#5 | ||
|
Senior Member
Iscritto dal: Dec 2003
Messaggi: 4907
|
Quote:
Quote:
Codice:
float rounded = Math.round(35.46999996 * 100.0) / 100f;
|
||
|
|
|
|
|
#6 |
|
Bannato
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
|
Thanks
Ora funge Ultima modifica di PaVi90 : 13-04-2008 alle 18:37. |
|
|
|
|
|
#7 |
|
Registered User
Iscritto dal: Jul 2007
Messaggi: 915
|
|
|
|
|
|
|
#8 |
|
Bannato
Iscritto dal: May 2007
Città: Vivo in un mondo in cui tutti ti accusano e ti additano per un nonulla...
Messaggi: 9995
|
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 21:55.




















