Sig fig格式显示与变量sig figs

时间:2013-01-10 15:55:32

标签: python string python-2.7

我正在尝试在字符串中显示sig figs并且我找到了'{:.2f}'.format(x)样式,只要我在代码中将sig figs的数量作为整数,它就会很好用,但我似乎无法如果变量中包含sig figs的数量,则可以使这种格式化工作。 2作品sig=2没有。我一直在尝试使用%.format来插入sig这样的'{:.%if}'.format(x) %sig',但它不起作用。

我确信这有一个非常简单的优雅解决方案,但我无法弄清楚。任何帮助将不胜感激。感谢。

2 个答案:

答案 0 :(得分:5)

您实际上可以使用字符串格式替换来为格式字符串本身提供参数:

In [79]: '{:.{s}f}'.format(1.234, s=2)
Out[79]: '1.23'

In [80]: '{:.{s}f}'.format(1.234, s=3)
Out[80]: '1.234'

答案 1 :(得分:1)

对于我们这些喜欢它的人来说,您也可以使用旧式字符串插值(%格式化):

>>> "%.*f"%(2,1.2345)
'1.23'
>>> "%.*f"%(3,1.2345)
'1.234'

但是你应该使用@unutbu提出的表格,如果你使用的是更新版本的python(2.6 +)