提问人:55gus 提问时间:9/10/2019 最后编辑:snakecharmerb55gus 更新时间:9/3/2020 访问量:71
这些浮动结果的原因是什么?[复制]
What is the reason for these float results? [duplicate]
问:
对于下面的代码,为什么第一个结果是小十进制数,而第二个结果是 0?我的主要问题是为什么额外的小数位使第二个结果为 0。python 在计算浮点数时小数位有限制吗?
x =5.000000000000001
y =5
print(x-y)
x =5.0000000000000001
y =5
print(x-y)
答:
0赞
Matthew Gaiser
9/10/2019
#1
由于数据的存储方式,浮点数并不总是精确的。它们需要四舍五入才能在实践中正常工作。
x =5.000000000000001
y =5
print(round(x-y))
x =5.0000000000000001
y =5
print(x-y)
评论
1赞
Eric Postpischil
9/10/2019
对浮点数进行四舍五入并不是使它们“起作用”的正确方法。
评论