我有一个变量mn
,其值为2.71989011072,我使用python的圆函数来获得2.720的精度值,但我只得到2.72
mn=2.71989011072
print round(mn,3)
给出2.72而不是2.720
答案 0 :(得分:3)
是的, print 功能会应用第二轮。
mn = 2.71989011072
mn = round(mn, 3)
print(mn)
你会得到:
2.72
您需要使用格式化字符串:
print("{0:.3f}".format(mn))
你会得到:
2.720
请注意,格式化的字符串可以为您进行舍入。 有了这个,你将获得相同的输出:
mn = 2.71989011072
print("{0:.3f}".format(mn))
# => 2.720
答案 1 :(得分:1)
函数将其舍入为三个第一位数,正确地得到2.72。零是打印和字符串格式的问题,而不是舍入。
要使用三个零打印,您需要执行以下操作:
print '{0:.3f}'.format(round(mn, 3))
首先将数字舍入然后打印,然后用三个零格式化。
答案 2 :(得分:1)
您需要数字的特定字符串表示,而不是另一个数字。
使用format()
代替round()
:
>>> mn = 2.71989011072
>>> format(mn, '.3f')
'2.720'
答案 3 :(得分:0)
使用 python 3,我们可以使用 f 字符串
print(f"{mn:.3f}")
<块引用>
2.720