如何在 Rails 数据库中存储精确的十进制值?

How to store exact decimal value in Rails database?

我试图在数据库中存储 145.19064169678300 十进制值,但是当我查看数据库时,最后 3 位数字不同,存储的值为 145.19064169678299。我的迁移文件如下所示

  t.decimal :latitude, null: false, precision: 18, scale: 15

对于值 145.449895817713000,它存储为 145.449895817713013

如何在不进行四舍五入的情况下存储准确的值?我正在使用 postgres 作为数据库。

您正在查看 Excel 中的 csv 文件吗?

您确定 Excel 没有四舍五入显示吗?

Excel,在其试图“提供帮助”的过程中可能会扭曲数据的显示,并在您编辑文件时更改基础数据。它删除前导 0,舍入数字或将它们转换为科学记数法。在处理 CSV 或 TSV 文件时,最好坚持使用纯文本编辑器。