View Full Version : [Java] Problema variabili Double
morris2003
16-11-2009, 10:44
Stiamo sviluppando una calcolatrice con Java, e compare sempre questo problema: quando facciamo delle somme alcune danno degli errori, per esempio 5.1 + 2.6 compare 7.66669999999 invece di 7.7. Come mai?
Con l'esempio che hai fatto mi sembra mooooooooolto strano. Per caso aggiungete quantità moooolto moooolto piccole? Perchè nel caso converrebbe sommare prima tutte quelle piccole ad un grande alla fine. E' probabile che se sommi 0.000000001 a 4546646 te lo perdi.
banryu79
16-11-2009, 12:21
Ma non è per il modo intrinseco con cui vengono rappresentati i valori floating point in un calcolatore?
Es.:
System.out.println("res = " + (5.1+2.6));
System.out.println("res = " + (0.1+0.6));
System.out.println("res = " + (5.0+2.0));
System.out.println("res = " + (7.0+0.7));
// output:
res = 7.699999999999999
res = 0.7
res = 7.0
res = 7.7
wizard1993
16-11-2009, 14:19
Ma non è per il modo intrinseco con cui vengono rappresentati i valori floating point in un calcolatore?
che io sappia è così, per avere calcoli matematici precisi è necessario usare le classi bigdecimal
morris2003
18-11-2009, 09:34
Con float abbiamo risolto tutto...grazie :D
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.