【发布时间】:2018-09-06 10:14:17
【问题描述】:
在 python3 中,我主要使用 float 或 np.float32/64,当将其存储到数据库中时,即使 SQL 类型是数字/十进制,我们最终也会得到 0.400000000000021 或类似的东西而不是 0.4
如果从其他应用程序访问此类数据可能会出现问题。
在 python 中仅使用 decimal.Decimal 不是我们的答案,因为我们大量使用 pandas,并且不支持 Decimal。
一个解决方案是在插入 SQL 之前将 float 转换为 Decimal(在我们的例子中是 SQL Server,但它是一个细节)。然后在 SELECT 之后从 Decimal 返回到 float。
你有另一种(更好的)方法来处理这样的问题吗?
【问题讨论】:
标签: python sql floating-point decimal precision