[Db] [Mysql] Decimal or Double

Domenico L. domenico.lorusso a pleiade.it
Mer 21 Feb 2007 08:51:35 CET


Marcello Vezzelli ha scritto:
> Se parli di miliardi (1.000.000.000) e di milionesimi (0.000000001) , 
> secondo me è sufficiente il double. Dovrebbe essere anche più 
> prestazionale nei calcoli.
> Occhio pero' agli arrotondamenti... potresti trovarti con dei "rotti" 
> dovuti al formato di memorizzazione, cose del tipo 0.00000000100023 se 
> memorizzi 0.0000000001 (esempio inventato). Puoi gestire la cosa con 
> un round alla precisione che vuoi tipo così (round(valore * 
> 1000000000)/1000000000)
> Se vuoi evitare questo problema, usa decimal.
Il problema sono proprio gli arrotondamenti, io devo memorizzare il dato 
preciso, però un certo gruppo di record (campogruppo uguale) che 
memorizzano fino a 10^12 cifre intere, e altri record che possono 
arrivare a memorizzare fino numeri compresi tra 0 e 1 con una precisione 
di 9 cifre decimali.

Quello che non succede mai è che debba sommare/confrontare tra loro 
queste cifre così disparate.


Speravo esistesse un formato preciso a virgola mobile (tipo 
myDecimal(12) -> tu puoi registrare in tutto 12 cifre la posizione della 
virgola non centra )

a questo punto mi conviene gestire il campo come stringa e sfruttare la 
conversione implicita....

Che brutta roba!

-- 
Domenico L.                             icq: 645 44 861

per stupire mezz'ora basta un libro di storia,
io cercai di imparare la Treccani a memoria... [F.d.A.]



Maggiori informazioni sulla lista Db