因此,經過一段時間閱讀了我的一些代碼之後,我一直得到這種奇怪的行爲,我根本無法脫身。爲什麼即使在使用float之後,Python 2.X分區也不能按預期工作
一段時間的尋找後,我發現下面的公式:
>>> print 425/(469/100)
將返回106
而不是~90
。我一直在閱讀關於Python的這種行爲,並明確使用float
希望有助於提高準確性。
>>> print 425/float(469/100)
現在將返回106.25
這不是太有用。進一步打破這件事後,我只是嘗試了以下內容:
>>> print float(469/100)
這讓我吃驚返回4.0
甚至沒有4.1
(四捨五入)。我曾經遇到過Java,但還沒有用過Python。
即使我明確使用float
爲什麼我收到這樣的結果?我不要求精確的精度,但它想ATLEAST 89和91
之間
這是用Python 2.7
'469/100'仍爲整數除法。 –
@MartijnPieters - 所以我猜我必須像這樣寫:'float(469)/ float(100)'。編輯:這的確是正確的..嘆氣:(。 – Juxhin
)你需要劃分浮點數,而不是做整數除法,然後把結果變成浮點數,只要將其中一個變成「浮點數」就足夠了,你可以通過添加一個小數點來實現:'(469./100)'。 – TigerhawkT3