所以我正在使用 Ruby On Rails 创建一个时间跟踪应用程序,并将时间存储为代表小时的数字。
由于任何超过 0.01(36 秒)小时的时间都无关紧要,我只需要 2 个小数位。
我正在使用以浮点数作为列类型的 MySQL 数据库。虽然这在大多数情况下都有效,但我时不时地在计算和舍入浮点数时遇到错误。
我对我的选项进行了一些研究,发现很多人推荐使用 BigDecimal。由于我使用了很多使用计算的自定义数据库查询,所以我想知道更改列类型会如何影响这一点。它将其存储为字符串或 yaml,还是 MySQL 原生支持?
或者是否有在 Ruby / Rails 中进行定点十进制算术的等效方法。
我认为任何方法都需要大量重构,我怎样才能最避免这种情况?
任何见解都值得赞赏。