Іноді типи даних Activerecord мене бентежать. Помилка, часто. Одне з моїх вічних питань - для даного випадку,
Чи варто використовувати
:decimal
або:float
?
Я часто стикався з цим посиланням, ActiveRecord:: decimal vs: float? , але відповіді не досить чіткі, щоб я був певним:
Я бачив багато ниток, де люди рекомендують виводити плоскі, щоб ніколи не використовувати float і завжди використовувати десятковий. Я також бачив пропозиції деяких людей використовувати float лише для наукових застосувань.
Ось кілька прикладів випадків:
- Геолокації / широта / довгота:
-45.756688
,120.5777777
, ... - Співвідношення / відсоток:
0.9
,1.25
,1.333
,1.4143
, ...
Раніше я використовував :decimal
, але я виявив, що поводження з BigDecimal
предметами в Рубі було зайвим незручним порівняно з поплавком. Я також знаю, що можу використати :integer
для представлення грошей / центів, наприклад, але це не зовсім підходить для інших випадків, наприклад, коли величини, в яких точність може змінюватися з часом.
- Які переваги / недоліки використання кожного?
- Які б хороші правила, щоб знати, який тип використовувати?