我意識到這個問題可以理解爲類似於別人,所以我開始之前,這裏是一些可能的「重複」列表中每個人都開始指向之前出。這些似乎都沒有正確回答我的問題。Python字符串格式化{:d} VS%d的浮點數
我的問題特別涉及使用用於顯示的整數的string.format()方法。
使用%字符串中的解釋執行Python格式化運行下面的代碼2.7
>>> print "%d" %(1.2345)
1
而使用在string.format()方法結果如下
>>> print "{:d}".format(1.2345)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: Unknown format code 'd' for object type 'float'
我期待在這兩個相同的行爲;讓解釋器在顯示之前將我的浮點數實際轉換爲整數。我意識到我可以使用int函數將浮點數轉換爲整數格式,但我正在尋找與%d格式化方法相同的功能。有沒有任何string.format()方法可以爲我做到這一點?
如果你不知道你的變量是否是一個整數,那麼不僅要明確地進行轉換,這是什麼原因?例如'print'{:d}「。format(int(1.2345))' – 2014-10-03 09:39:23
@Tom,正如我所說的,我可以自己完成轉換,所有的麻煩都會消失。但是我真正想知道的是,爲什麼兩種乍看之下非常相似的方法並沒有完全一樣。 – Mike 2014-10-03 09:45:17