Problemi di FLOAT

Problemi di FLOAT

Se avete riscontrato problemi nell'utilizzo di campi FLOAT in una tabella MySQL leggete qui!

Se avete strani problemi nei risultati di operazioni sui dati a virgola mobile presenti nel vostro database, la colpa è molto probabilmente del tipo di dato!
Per esserne sicuri, dovreste vedere i dati inseriti nei campi incriminati con molti più decimali del previsto.
Ad esempio inserendo 0.12 potreste ritrovarvi nel campo del database il valore 0.1200004350464!
Ecco il riassunto del problema direttamente dal sito di MySQL AB.

Soluzione al problema

Se vi identificate nel problema sopra descritto, la soluzione più rapida e indolore è cambiare il tipo di dato, da FLOAT a DECIMAL(m,n), dove m sta per il numero di cifre totali, mentre n per il numero di decimali.

Esempio

-- tabella "prodotti": cambio i FLOAT in DECIMAL(15,2)
 ALTER TABLE `prodotti` CHANGE `prezzo_unitario` `prezzo_unitario` DECIMAL( 15, 2 ) NOT NULL DEFAULT '0';

Questo metodo è particolarmente indicato quando si ha a che fare con dei prezzi, il cui numero di decimali si sa a priori.

Dettagli pubblicazione

Categoria: MySQL

Pubblicato da: loryzz in data: 24.01.2008 10:53:30

Ultima modifica di: loryzz in data: 21.01.2009 11:11:12

Statistiche

Details  Questo articolo è stato visualizzato 1.238 volte.

Segnala presso

add to oknotizie add to ziczac add to technotizie add to fai_informazione add to wikio add to segnalo add to koolontheweb add to facebook add to delicious add to google add to stumbleupon add to technorati add to ask add to live

Votazioni

  • Currently 0; ?>/ TOTALSTARS
  • 1
  • 2
  • 3
  • 4
  • 5

Commenti

Details Gli utenti del sito hanno rilasciato 0 commenti, di cui 0 in attesa di approvazione.

Lascia un commento

Tutti i commenti devono essere approvati da un amministratore prima di essere visualizzati al pubblico. Si tratta di una misura preventiva contro spam e pubblicità e non è necessario reinviare il commento.
Si prega di scrivere commenti in tema. Spam e messaggi promozionali non vengono approvati.


Codice di conferma

Inserisci nella casella di testo i caratteri presenti nell'immagine.