Zajímavá otázka.
V prostředí mysql bych si vlastně float nevybral. V minulosti bylo příliš mnoho problémů s přesností tohoto datového typu.
Pro mě by byla volba mezi int
a decimal(18,4)
.
Viděl jsem reálné příklady celých čísel používaných k reprezentaci hodnot s plovoucí desetinnou čárkou. To vše dělají vnitřnosti datových tabulek JD Edwards. Množství se obvykle dělí 10 000. I když jsem si jistý, že je to rychlejší a menší v tabulce, znamená to jen to, že pokud s nimi chceme něco dělat, musíme vždy převádět ints na desetinnou hodnotu, zejména dělení.
Z hlediska programování bych vždy raději pracoval s decimal
za cenu (nebo money
v RDBMS, které to podporují).