2015-12-02 40 views
0

所以,我一直想圓一個數目,但它總是給我一個結果,我知道錯了,例如:Python的四捨五入完全脫落

355/60 

雖然這應該有一個浮動提示我約5.9等,我的機器上的輸出只是5,如果我指定float (355/60)輸出是5.0

我注意到這是非常錯誤的,所以我在trinket.io中嘗試同樣的事情,輸出是正確的。

我的IDLE出了什麼問題,我懷疑這個問題與我使用python 2.7和trinket.io使用3有關,但是我的輸出不應該被錯誤地舍入,對嗎?

+2

在Python 2中,'/'是一個整數除法,所以'355/60'已經被截斷爲'5'和'round(5)== 5'。 – Holt

+0

看看這裏http://ubuntuforums.org/showthread.php?t=947270 – Markon

+0

如果你在python 2中劃分兩個整數,你會得到一個int。如果將結果轉換爲浮點數,則會得到與您已經計算出的整數相等的浮點數。但是,如果其中一個操作數是浮點數,則可以進行浮點除法。例如。 '355.0/60' – khelwood

回答

1

335和60是整數。當對整數進行除法時,結果將是一個整數。要使結果成爲浮點數,您可以將.0添加到其中一個操作數,或使用float()函數進行投射。

+0

謝謝,我完全忘了python會在沒有a的情況下編號。一個int,謝謝 – Henrique