问题引入: 请问**0.3 == 3 * 0.1
** 的输出结果是什么?
这个答案在常人看来就是一个很显而易见的,但是在计算机语言的世界里, 事情可能不那么简单。这个问题的答案是:输出**False
**
再例如,10个0.1相加就肯定是等于1么?当然有了第一个问题的铺垫以后,第二个问题我们可能就不会理所当然的脱口而出的回答肯定是了。让我们看看python代码中输出的结果
那么这个问题到底是为什么呢?我身为一个非科班出身的菜鸟,也是百思不得其解,最后求助于网上才大致有了一些思路。担心以后忘记了,所以在此记录一下。
https://docs.python.org/2/tutorial/floatingpoint.html
https://www.v2ex.com/amp/t/463105