好吧,所以我有一个奇怪的问题,我运行一个查询,在选择它正在采取的结果并乘以2000年即0.0025 * 2000和给我4.9999888419121什么时候它应该是5.我已经看到有这个问题,但我还没有找到是否有解决方案。我认为数学就像一个基本的计算函数,为什么它会在乘法这样一个简单的请求中失败。MySQL运行查询与浮点数学函数与十进制返回错误结果
我不确定是否有解决方案,我真的一直在研究它,但我认为如果有人知道它会在这里。
再次感谢
例如:
SELECT (table.rate * 2000) as per_ton ...
我已经试过+ 0.0000技巧和所有没有运气
实际上,5.0(和任何其它的整数)可以被精确表示在浮点。问题是0.0025。 – Barmar 2012-08-09 16:30:22
但你错了,5.0和4.9999888419121表示相同。问题是因为.0025的表示实际上比0.0025略小,所以当你通过这个数字乘以2000时,你得到的东西比5.0小一些。 – Barmar 2012-08-09 16:43:50