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.

Publication details

Category: MySQL

Published by: loryzz on date: 24.01.2008 10:53:30

Last edit by: loryzz on date: 21.01.2009 11:11:12

Statistics

Details  This article has been viewed 2.699 times.

Send to

add to digg add to reddit add to furl add to facebook add to delicious add to google add to stumbleupon add to technorati add to ask add to live

Ratings

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

Comments

Details 0 user comments, 0 still waiting.

Leave a comment

All comments must be approved by site administrator.
Please write comments on topic. Spam will be never approved.


Confirmation code

Please take a look to image and insert character into the form field.