2010-07-30 23 views
2

簡單的問題,對不起,我可以;不明白這一點。我有一些由 float(STRING) 生成的數字,它們顯示爲xxx.0,但我希望它們以.00結尾,如果它確實是整數。我將如何做到這一點?如何使Python中的float值爲.00而不是.0?

謝謝!

編輯:

的Python saiys花車不具有CAL '格式()'

+0

你會想創建格式字符串,調用'format'它,並通過您的浮動作爲參數。 – 2010-07-30 04:48:06

回答

11
>>> '%.2f' % 2.0 
'2.00' 
+1

此格式樣式不再是首選。請檢查以下文檔:http://docs.python.org/py3k/library/stdtypes.html#old-string-formatting-operations – 2010-07-30 04:34:29

+1

@Noctis,如果您完全使用Python 3。如果您使用的是Python 2(並且希望保持與稱爲Google App Engine的非常受歡迎的部署環境(需要Python 2.5)兼容),百分比格式仍然是最好的(因爲Python 2.5不支持新格式'字符串的方法) - 注意到OP似乎沒有找到'format'的問題,而'%'方法更廣泛地工作。 – 2010-07-30 05:17:27

+1

聽起來像你期待GAE在一段時間內停留在2.5:( – 2010-07-30 05:55:06

2

另外:

>>> "{0:.2f}".format(2.0) 
'2.00' 
+0

隨着Python 3000得到更好的識別,這應該成爲格式化字符串的標準方式。文檔可以在這裏找到:http://docs.python.org/py3k/library/stdtypes.html#str.format – 2010-07-30 04:37:57

1

如果你不喜歡的數字是你需要做的更多:

>>> "%.2f" % 1.99999 
'2.00' 
>>> "%.2f" % (int(1.99999*100)/100.0) 
'1.99' 
相關問題