A volte, i tipi di dati Activerecord mi confondono. Err, spesso. Una delle mie domande eterne è, per un dato caso,
Dovrei usare
:decimal
o:float
?
Mi sono imbattuto spesso in questo link, ActiveRecord:: decimal vs: float? , ma le risposte non sono abbastanza chiare per essere sicuro:
Ho visto molti thread in cui le persone raccomandano di non usare mai il float e usare sempre i decimali. Ho anche visto suggerimenti di alcune persone sull'utilizzo di float solo per applicazioni scientifiche.
Ecco alcuni casi di esempio:
- Geolocalizzazione / latitudine / longitudine:
-45.756688
,120.5777777
, ... - Rapporto / percentuale:
0.9
,1.25
,1.333
,1.4143
, ...
Ho usato :decimal
in passato, ma ho scoperto che occuparsi di BigDecimal
oggetti in Ruby era inutilmente imbarazzante rispetto a un galleggiante. So anche che posso usare :integer
per rappresentare denaro / centesimi, ad esempio, ma non si adatta perfettamente ad altri casi, ad esempio quando le quantità in cui la precisione potrebbe cambiare nel tempo.
- Quali sono i vantaggi / gli svantaggi dell'utilizzo di ciascuno?
- Quali sarebbero alcune buone regole pratiche per sapere quale tipo usare?