Иногда типы данных Activerecord меня смущают. Эээ, часто. Один из моих вечных вопросов в данном случае:
Должен ли я использовать
: decimal
или: float
?
Я часто сталкивался с этой ссылкой, ] ActiveRecord:: decimal vs: float? , но ответы не совсем ясны для меня, чтобы быть уверенным:
Я видел много потоков, в которых люди настоятельно рекомендуют никогда не использовать с плавающей точкой и всегда использовать десятичную дробь. Я также видел предложения некоторых люди должны использовать float только для научных приложений.
Вот несколько примеров случаев:
-45.756688
, 120,5777777
, ... 0,9
, 1,25
, 1,333
, 1,4143
, ... Я использовал : десятичное
в прошлом, но я обнаружил, что работа с объектами BigDecimal
в Ruby была излишне неудобной по сравнению с float. Я также знаю, что могу использовать : integer
для представления, например, денег / центов, но это не совсем подходит для других случаев, например, когда количества, точность которых может меняться со временем.