Итак, я создаю приложение для отслеживания времени с использованием Ruby On Rails и сохраняю время как число, представляющее часы.
Поскольку значение, превышающее 0,01 (36 секунд) часов, не имеет значения, мне нужно только 2 десятичных знака.
Я использую базу данных MySQL с плавающей точкой в качестве типа столбца. Хотя это работает большую часть времени, время от времени я получаю сообщение об ошибке при вычислении и округлении чисел.
Я провел некоторые исследования своих вариантов и вижу, что многие люди рекомендуют использовать BigDecimal. Поскольку я использую множество пользовательских запросов к базе данных с использованием вычислений, я хотел знать, как это повлияет на изменение типа столбца. Хранит ли он это как строку или yaml, или это изначально поддерживается MySQL?
Или есть эквивалентный способ сделать десятичную арифметику с фиксированной точкой в Ruby / Rails.
Я предполагаю, что любой метод потребует большого количества рефакторинга, как я могу избежать этого больше всего?
Любое понимание приветствуется.