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