你如何向仍然认为计算机是无限智能和准确的新鲜程序员和外行人解释浮点不准确?
你有一个最喜欢的例子或轶事似乎比一个精确但干燥的解释更好地理解这个想法吗?
这是如何在计算机科学课程中教授的?
我遇到了一个基本的MySQL查询令人困惑的问题.
这是我的表:
id | rating
1 | 1317.17
2 | 1280.59
3 | 995.12
4 | 973.88
Run Code Online (Sandbox Code Playgroud)
现在,我试图找到rating列大于某个值的所有行.如果我尝试以下查询:
SELECT * FROM (`users`) WHERE `rating` > '995.12'
Run Code Online (Sandbox Code Playgroud)
它正确返回2.
但是,如果我尝试
SELECT * FROM (`users`) WHERE `rating` > '973.88'
Run Code Online (Sandbox Code Playgroud)
它回来了4!所以就好像它认为表中的973.88大于973.88,但它与995.12没有同样的错误.无论我是从PHP脚本还是在phpMyAdmin中运行查询,都会发生这种情况.
有任何想法吗?
mysql floating-point floating-accuracy floating-point-conversion