kom ihåg att float
är en felaktig datatyp när det gäller precision. Om du representerar 12
som float får du 11.99999999999998
eller något.
'38.03'
kan konverteras till decimal eller annan datatyp som är mer exakt (beroende på RDBMS, jag är allmän här), och det kommer att skilja sig från flytvärdet.
float är 32 bitar, låg precision. Dubbel fungerar mycket bättre, eftersom det är 64-bitars datatyp. Decimaldatatyp i vissa system är 128 bitars numeriska datatyper för lagring av mycket exakta numeriska värden, och används vanligtvis för att benämna pengar.
Och hoppa över vanan att jämföra med =
operator, av float
värden. Floats används för ungefärliga och snabba beräkningar, och endast jämförelse med ett intervall är acceptabelt för att kontrollera värdet på en float
. Det är giltigt för i princip varje enskilt system.