如果我在 Python 2.7.1 shell 或 3.3.2 shell 中键入以下内容:
a = 0.1
b = 0.1
(a + b) == 0.2
它返回值true
。从 stackoverflow 和来自 MIT 的这个视频中,我的印象是这会返回false
,因为尝试在计算机中准确表示 0.1 时会出现小错误。(毕竟它不是二进制的吗?)所以我猜 Python 必须是 a) 进行非浮点运算或 b) 在进行相等性测试之前进行舍入。
它是哪个以及哪些版本的 Python 具有这种行为?