husk at float
er en mangelfuld datatype, når det kommer til præcision. Hvis du repræsenterer 12
som float får du 11.99999999999998
eller noget.
'38.03'
kan konverteres til decimal eller anden datatype, der er mere præcis (afhængigt af RDBMS, jeg er generelt her), og den vil afvige fra den flydende værdi.
float er 32 bit, lav præcision. Dobbelt fungerer meget bedre, da det er 64 bit datatype. Decimaldatatypen i nogle systemer er 128 bit numeriske datatyper til lagring af meget præcise numeriske værdier og bruges normalt til at angive penge.
Og spring over vanen med at sammenligne med =
operator, af float
værdier. Floats bruges til omtrentlige og hurtige beregninger, og kun sammenligning med et interval er acceptabel for at kontrollere værdien af en float
. Det er gyldigt for stort set hvert enkelt system.