我正在尝试在字符串中显示sig figs并且我找到了'{:.2f}'.format(x)
样式,只要我在代码中将sig figs的数量作为整数,它就会很好用,但我似乎无法如果变量中包含sig figs的数量,则可以使这种格式化工作。 2
作品sig=2
没有。我一直在尝试使用%
和.format
来插入sig
这样的'{:.%if}'.format(x) %sig'
,但它不起作用。
我确信这有一个非常简单的优雅解决方案,但我无法弄清楚。任何帮助将不胜感激。感谢。
答案 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 +)