将精度传递给python的.format方法

时间:2014-09-10 01:40:12

标签: python string-formatting

我有一个变量,我需要根据具体情况用不同的精度编写,有时我需要两个小数位,其他时间更多。

最近我一直在尝试使用string.format()方法而不是%运算符,但我无法弄清楚如何做到这一点非常简单。

这是一个MWE:

# Some variable.
a=5.2365548
# Define two precisions.
x, y = 2, 5
# Print 'a' with different precisions.
print 'The variable equals: {:.xf}'.format(a)
print 'The variable equals: {:.yf}'.format(a)

理想情况下会在每种情况下返回:

The variable equals: 5.24
The variable equals: 5.23655

当然使用:.xf不起作用,但我相信它会显示我需要的内容。

1 个答案:

答案 0 :(得分:2)

>>> print '{:.{prec}f}'.format(12.345, prec=2)
12.35
>>> print '{:.{prec}f}'.format(12.345, prec=1)
12.3