【发布时间】:2013-02-04 17:50:03
【问题描述】:
下午好。
注意到现场计算金额的奇怪之处。
价值表:
类型字段 - 浮点数。
我选择总和:
SELECT SUM(cost) as cost FROM Table
结果我得到sum = 20.47497010231018;
我使用计算器)我得到sum = 20,47497
请告诉我为什么我会得到不同的结果?
【问题讨论】:
-
是的,基本上这是一个浮点常见问题。不要在 mysql 中使用 float 作为类型,您还有其他数据类型可以解决问题。
-
@Sebas 请告诉我更多,什么类型的字段可以代替浮动?
-
是时候阅读“每个计算机科学家都应该了解的浮点运算知识”download.oracle.com/docs/cd/E19957-01/806-3568/…
-
这两个数字几乎相同(假设您的计算器使用的是欧洲格式,而您的 MySql 是美国格式)。为什么称它们为“非常不同”?还是只是格式问题?
-
@Loki,这取决于您在该列中存储的内容的商业意义。 (钱...)