限制标题标题只显示一定数量的小数位

时间:2013-07-22 10:25:17

标签: python

对于我正在制作的情节,我有:

 plt.suptitle('Name:{0}, MJD:{1}, std dev > {2}'.format(pname, mjd[i], rmslevel), fontsize=12, fontweight='bold')

我想在{2}(又名rmslevel)的位置显示的数字只显示2位小数。

我当然也看到了类似的问题和解决方案:

print "%.1f" % number

但我无法弄清楚如何在同一行中进行的.format事务的上下文中使用它。

谢谢!

4 个答案:

答案 0 :(得分:2)

你正在寻找这个。

>>> "{0:.2f}".format(123.678956)   # Or "{:.2f}".format(123.678956)
'123.68'

您的代码现在转为

plt.suptitle('Name:{0}, MJD:{1}, std dev > {2:.2f}'.format(pname, mjd[i], rmslevel), fontsize=12, fontweight='bold')

您可能会发现this有用。

Python Docs包含一些示例。

  

在大多数情况下,语法类似于旧的%-formatting,   添加{}和with:使用而不是%。例如,   '%03.2f'可以翻译为'{:03.2f}'。

答案 1 :(得分:1)

也许你可以这样做 -

plt.suptitle('Name:{0}, MJD:{1}, std dev > {2}'.format(
             pname, mjd[i], ("%.2f" % rmslevel)
             ), fontsize=12, fontweight='bold')

答案 2 :(得分:1)

正确的语法是:

>>> print "{0:.2f}".format(4)
4.00

所以在你的例子中:

plt.suptitle('Name:{0}, MJD:{1}, std dev > {2:.2f}'.format(pname, mjd[i], rmslevel), fontsize=12, fontweight='bold')
#                                          ^^^^^^^ Notice the change.

您可以阅读更多here

答案 3 :(得分:1)

'Name:{0}, MJD:{1}, std dev > {2:.2f}'.format(pname, mjd[i], rmslevel)