Python 3:打印浮点精度,不遵循零

时间:2018-01-27 14:44:29

标签: python-3.x floating-point

例如

x = 1.23
print("%.3f" % x)

输出将是" 1.230"我想" 1.23"。 有什么办法吗?谢谢。

编辑: 我想要一个能够以极限精度打印浮点数的函数,如果没有达到给定的限制,则不会打印零。

1 个答案:

答案 0 :(得分:3)

如果要输出最多3位但没有0,则需要格式化为3位且rstrip 0:

for n in [1.23,1.234,1.1,1.7846]:
    print('{:.3f}'.format(n).rstrip("0"))  # add .rstrip(".") to remove the . for 3.00003

输出:

1.23
1.234
1.1
1.785

快速阅读python 3格式:https://pyformat.info/#number或此处:https://docs.python.org/3.1/library/string.html#format-examples