2017-09-13 81 views
-1

首先對不起,如果這個問題已經發布,但我找不到它。在Python中格式化浮點到一定的精度

我剛剛開始使用python並在PyCharm中編碼。 做一些練習,不明白爲什麼我的配方沒有正確格式化。

正如你在圖片中看到的,我想用'.2f'精度格式化結果(浮點數)。它可以與一些數字一起使用,但是當我輸入11或45時,99

數量沒有用.2精度格式化。我是新手,但是你可以告訴我光線還是至少指向哪裏可以找到蠟燭? (解決方案)

cookie_problem

+2

有問題的代碼body _only_,沒有圖片... –

+0

歡迎來到StackOverflow。請閱讀https://stackoverflow.com/help/mcve,然後點擊編輯編輯您的問題,以便我們提供幫助。具體而言,您需要在問題主體中包含所有相關信息*,以便如果鏈接消失,問題仍然有效且有用。它對我們來說也變得更加容易,所以你更有可能得到你需要的幫助!其他有用的鏈接是:我可以問什麼樣的問題https://stackoverflow.com/help/on-topic,以及如何問:https://stackoverflow.com/help/how-to-ask。祝一切順利。 – SherylHohman

+0

如果您的問題得到解答,請_accept_最有幫助的。看看:https://stackoverflow.com/help/accepted-answer然後點擊灰色的檢查,直到它變成綠色。你只能接受一個,所以選擇一個最有幫助的。 –

回答

0

你必須調用格式你做乘法之後。在你的代碼只能格式化糖,黃油等價值觀,但你應該格式化sugar_calcul等值它顯示正確

print('For', cookies, 'You would need the following:') 
print(format(sugar_calcul, '.2f'),': cups of sugar') 
print(format(butter_calcul, '.2f'), ': cups of butter') 
print(format(flour_calcul, '.2f'), ': cups of flour') 
print('Enjoy Your cookies !') 
0

注意幾件事。首先,format返回一個字符串:

In [63]: format(11, '.2f') 
Out[63]: '11.00' 

接下來,這個字符串轉換爲浮動導致被設置爲任何蟒蛇希望它是精度。

In [64]: float(format(11, '.2f')) 
Out[64]: 11.0 

在顯示,有必要呼籲format。之前這樣做是沒有意義的,因爲在計算過程中值會發生變化。更好的是,使用str.format

print('{:.2f} cups of sugar'.format(sugar_calcul) 
...