我在一张表上只有一条记录。所以在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/