这是我编写的一个更大的程序中的一个小故障,我无法弄清楚。我正在使用 Python 2.7。
n = 0.5
while n < 2:
print(int(n * 100))
n += 0.1
90、100 和 110 的输出偏移 1。截断输出:50、60、70、80、89、99、109、120、130、140、...
当我 a) 从 n = 0.8 开始,b) 直接打印浮点数,或 c) 不使用循环递增 n 时,这不会发生,如下所示:
n = 0.9
print(int(n * 100))
我知道有很多解决方法,但我仍然很好奇为什么会发生这种情况。它是用于对原始数据的输出文件进行排序的文件命名功能的一部分。提前致谢!