php - MySQL SUM 返回不必要的小数

标签 php mysql

我在一张表上只有一条记录。所以在MySQL上当

 select myamount from table 1  -- returns amount 420.67

但是当我做 MySQL 时

 select sum(myamount) from table 1 -- returns amount 420.8699951171875

既然我只有一条记录,它不应该返回相同数量的 420.67 吗?以及如果使用 SUM,如何获得金额 420.67。

感谢任何帮助,是的,myamount 数据类型是 float。

最佳答案

浮点型变量以“科学计数法”(2,4E+04 格式,与 2,4*10^4 相同)存储。但更糟糕的是,它还以二进制形式存储。因此,在计算存储为 float 的数字时,您可能会得到一些奇怪的结果。

This video by Computerphile 很好地描述了这个问题。

关于php - MySQL SUM 返回不必要的小数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37156788/

相关文章:

php - 正则表达式引擎如何使用递归子模式解析正则表达式?

php - MySQL连接查询,无法访问第一个表id列

php - 如何在循环中显示 GROUP BY 数据

php - SQL/PHP : Joins with no matches on the other table (multiple tables)

php - 将excel文件导入数据库时​​出错

命令行中的 PHP 服务器名称

javascript - 当未完成所有字段时,如何创建确认表单提交的 JS 函数

php - 在 Ubuntu 上从代码安装 PHP 扩展,没有 makefile

java - MySQL DB 或 JDBC 驱动程序不处理 LocalDate.MAX

c# - 使用 SSH.NET 库通过 SSH 连接到 MySQL