Podme pekne od zaciatku. Je to nepresne ale predsa.
Pohlad obycajneho cloveka:
vlozil som na ucet 151.15eur
Pohlad programatora/databazy/systemu/cpu:
0 1000 0110 00101110010011001100110
0 - 0 kladne cislo
1000 0110 - 2^7 kladny exponent
0.00101110010011001100110b - 1.1808593273162842 mantisa
Vlozene cislo: 151.15
Ulozene Cislo: 151.149993896484375
Chyba: -0.000006103515625
V dnesnej dobe sa uz nebavime o programatoroch ale o developeroch o ludoch co neriesia low level veci.
Vývojář je placený mj. za to, že ví, jaký datový typ použít.
Každý vývojář* přece ví, že float je pro počítání peněz nevhodný, protože neoperuješ s 0,235E-7€ a je tam nepřesnost při ukládání. Takže použije k tomu přímo určený typ currency.
Pokud není k dispozici currency, jede se ve fixed pointu třeba na čtyři desetinný místa. (natvrdo třeba INT64 a exponent 0,0001)
*) Pokud nezná základní typy používanýho jazyka a jejich určení, není to vývojář, ale patla a měl by platit on zaměstnavateli za to, že mu dává možnost seberealizace a ne naopak.