【问题标题】:Mysql-connector Python loss of precisionMysql-connector Python 精度损失
【发布时间】:2020-04-26 09:59:37
【问题描述】:

出于保密原因,我不会发布表格,但如果有人需要更多信息,我会尽可能提供详细信息。

我正在从表中执行“SELECT AVG(result)”,当我在 mysql 工作台上使用此查询时,结果类似于 99.78999999999999。但是,当我尝试在 python 中使用 mysql 连接器时,只要我做一个

results = cursor.fetchall()

我检查了结果,值为 99.79。它自己四舍五入,我不知道为什么。

编辑

99.7, 99.9, 99.8, 99.85, 99.6, 99.85, 99.85, 99.75, 99.8, 99.8 在 mysql 工作台中平均为 99.789999999999999,但在 python mysql-connector 中为 99.79

【问题讨论】:

  • 数据库中的结果类型是什么?
  • @Daniel 感谢您的回复。我正在对 DOUBLE 类型的列执行 AVG 操作,所以我假设 select AVG(result) 也会导致 double?
  • 如果将结果转换为文本..?
  • 当我们基本上没有可用的信息时,我看不出我们如何能够真正期望解决这个问题。

标签: python mysql mysql-python


【解决方案1】:

正如@StefanPochmann 在 cmets 中提到的,mysql 工作台的平均输出不正确。这里解释一下原因:stackoverflow.com/q/588004/1672429

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-21
    • 1970-01-01
    • 2014-07-13
    • 1970-01-01
    • 2020-07-28
    • 2015-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多