我编写了以下函数,其中传递了 x,y 的值:
def check(x, y):
print(type(x))
print(type(y))
print(x)
print(y)
if x == y:
print "Yes"
现在,当我调用 check(1.00000000000000001, 1.0000000000000002)
它正在打印:
<type 'float'>
<type 'float'>
1.0
1.0
现在从变量 x 和 y 的打印语句中,我很难调试为什么 x != y(尽管两者都打印相同的值)。虽然我通过打印 x - y 解决了它,这给了我不同之处,但有没有办法修改打印语句,以便知道为什么 x!=y 在这个特定的用例中,而不使用任何外部打印库和减法解决方案。
原文由 skaul05 发布,翻译遵循 CC BY-SA 4.0 许可协议
要获得完全的精度和正确的格式,请执行
并检查它
g
格式类型在需要时切换为指数表示法。