Junior — Middle
Jak správně vybrat datový typ pro uložení nákladů s ohledem na kopiky v systému?
sobes.tech AI
Odpověď od AI
Pro ukládání hodnoty s haléři je důležité zvolit datový typ, který zajišťuje přesnost a vyhýbá se chybám zaokrouhlení.
Často se používají následující přístupy:
-
Celá čísla — ukládat částku v nejmenších jednotkách (například haléře). Místo 123,45 rublů uložit 12345 (celé číslo). To eliminuje chyby zaokrouhlení při aritmetických operacích.
-
Desetinné typy s pevnou přesností (například
decimalnebobig.Ratv Go) — umožňují pracovat s čísly s pevně stanoveným počtem desetinných míst.
V Go se pro finanční výpočty často používají celé hodnoty nebo externí knihovny pro desetinnou aritmetiku, například shopspring/decimal:
import "github.com/shopspring/decimal"
cena := decimal.NewFromFloat(123.45)
// operace s přesnou desetinnou aritmetikou
Volba závisí na požadavcích na přesnost a pohodlí při práci s peněžními hodnotami.