python - 在整数中添加浮点值时获取不同的值(PYTHON)

标签 python python-3.x

我使用循环在整数中添加浮点值,但答案不同。 这是我的代码:

import time
test = 0
while True:
    test += 0.0001
    print(test)
    time.sleep(0.3)

当我运行它时,我应该得到:

0.0001
0.0002
0.0003
0.0004
0.0005
.........

但是我得到了:

0.0001
0.0002
0.00030000000000000003
0.0004
0.0005
0.0006000000000000001
0.0007000000000000001
0.0008000000000000001
0.0009000000000000002
0.0010000000000000002
0.0011000000000000003
0.0012000000000000003

为什么会这样以及如何解决这个问题?

最佳答案

您可以使用{:.4f}设置输出精度以保留四位数字。

>>> pi
3.141592653589793
>>> print("{}".format(pi))
3.141592653589793
>>> print("{:.3f}".format(pi))
3.142
>>> print("{:.4f}".format(pi))
3.1416
>>> print("{:.5f}".format(pi))
3.14159

关于python - 在整数中添加浮点值时获取不同的值(PYTHON),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47604989/

相关文章:

python - 如何关闭 tkinter 上的上一个窗口?

python - 列表理解按列组合子列表的元素

python - Python 中字符串的基数排序

python - 如何在 tensorflow 中控制 LSTM 单元的输出大小

python - py2neo 缓存在烧我吗?

python - trie 的快速序列化

python - 无法从网页获取连接到不同参展商的链接

python - 如何为 python 中的内置数据类型创建新方法和属性?

python - 附加字典列表,其中一个字典中包含一个附加键,并且一个嵌套字典作为其值

python - pycharm中没有名为 'scipy'的模块