2013-07-22 24 views
0

對於我提出一個情節,我有:限制情節標題只顯示一個特定小數位數

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事情,我已經去了環境中工作在同一行上。

謝謝!

回答

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包含一些示例。

在大多數情況下,語法類似於舊的%格式化, 增加了{}和with:而不是%。例如, '%03.2f'可以翻譯爲'{:03.2f}'。

1

也許你可以做到這一點 -

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

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