gpt4 book ai didi

mysql - 为什么 sum() 查询返回带有更多小数点的结果?

转载 作者:可可西里 更新时间:2023-11-01 08:23:56 26 4
gpt4 key购买 nike

enter image description here

上图显示了我的数据库表中名为“igstAmt”的列之一。当我使用查询 "SELECT sum(igstAmt) as igstAmt FROM salesinvoice 时,它返回带有许多小数点的值 21616.7500129491,但正确答案是 21616.75.我知道我可以在显示的时候对结果进行四舍五入,我想知道为什么会这样?那一列的条目中的小数点最多为两位,所以结果也应该有2个小数点,对吧?该列的数据类型是 float

最佳答案

float 数据类型不表示带十进制数字的数字。它用二进制来表示数字,所以数字中的二进制数字表示2的幂,如16、8、4、2、1、½、¼、⅛等。

显示为“272.7”、“0.55”等的数字并不是存储值的准确表示。例如,显示为“272.7”的数字实际上可能是 272.70001220703125。

用于格式化输出数字的规则可能会通过使用少于显示确切值所需的所有数字来向您隐藏这些差异。

当您添加这些数字时,实际数字与附近的小数表示法之间的差异可能会扩大或缩小,具体取决于差异之间的机会变化。您看到的总和是这些加法的自然结果。

关于mysql - 为什么 sum() 查询返回带有更多小数点的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51924602/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com