2013-08-25 81 views
0

我知道這個問題聽起來有點奇怪,我想不出一種解釋它的方式。Python 3.3.2 - 舍入到一個數字雖然保持小數

基本上,我需要舍入數字而不切斷多餘的零等。例如,我當前的format(round(whatever, 3))會將1.00000024修改爲1.0,當我希望它輪到1.000時。我知道這種做法的實用性很愚蠢,但我需要這樣做,以免當人們得到的數字長度不一致時讓人們感到困惑。

請幫忙嗎?

回答

5

小數點後顯示的位數不是表示數字的float的屬性 - 這是您如何顯示它的屬性。該format內置或string format method可以使用format spec來控制數字顯示:

print('{:.3f}'.format(1.0)) # prints 1.000 

請參閱如何使用格式規範的鏈接 - 有很多的選擇,他們可以得到一種混亂。