MySQL SUM返回不必要的小数

时间:2016-05-11 08:15:59

标签: 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数据类型是浮动的。

1 个答案:

答案 0 :(得分:1)

浮点变量存储在"科学记数法" (2,4E + 04格式,与2,4 * 10 ^ 4相同)。但更糟糕的是,它也存储在二进制文件中。当计算存储为float的数字的东西时,由于这个原因,你可能会得到一些奇怪的结果。

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