2016-09-18 26 views
6

我想減少一些計算後得到的小數位數。在我的問題就出現了print()看起來是這樣的:Python的numpy科學記法限制小數

print("Mean resistivity: {res} Ohm m".format(res=np.mean(resistivity))) 

,並將其輸出這樣的:

Mean resistivity: 1.6628449915450776e-08 Ohm m 

現在我想,以減少打印到3.我試圖做的小數號碼字符串格式化,像這樣:

print("Mean resistivity: {res:.3f} Ohm m".format(res=np.mean(resistivity))) 

然而,這個代碼打印:

Mean resistivity: 0.000 Ohm m 

什麼其實我想是這樣的:

Mean resistivity: 1.663e-8 Ohm m 

如何設置格式res只顯示爲科學記數法,但只有3位小數?

+0

使用的格式打印[符](https://docs.python.org/2/library/string.html #formatspec) – dawg

回答

6

這是python3?如果是的話這應該工作:{res:.3E}

@edit 它應與python2也行 - spec

+0

也在Python 3中確認 – Jeon

+0

是的,謝謝!它的工作原理:)也適用於小寫'e'。去書籤文檔 – Dartmouth

+1

@達特茅斯,你應該知道,當你移動到Python 3.x,略有增強,在2.x文檔中找到。此外,請注意,python 3.6(即將到貨)有一個更簡單的實現共享相同的迷你格式化語言。爲未來添加書籤... https://docs.python.org/3.6/reference/lexical_analysis.html#f-strings – NaN