可能重複:
Why doesn't this division work in python?Python的數學輸出不正確
我有一個簡單的問題,(我認爲)下面的語句:
print (4950*8)/(((4950*8)/10000000*(1538/1460))+0.1/1000)/1000
給我396000.0 。
但在計算器上,我得到9270.614192621。
如果有人能指出我在代碼中做錯了什麼,那將會很棒。
謝謝。
可能重複:
Why doesn't this division work in python?Python的數學輸出不正確
我有一個簡單的問題,(我認爲)下面的語句:
print (4950*8)/(((4950*8)/10000000*(1538/1460))+0.1/1000)/1000
給我396000.0 。
但在計算器上,我得到9270.614192621。
如果有人能指出我在代碼中做錯了什麼,那將會很棒。
謝謝。
舊版本的Python對int
操作數使用截斷整數除法。
嘗試from __future__ import division
(參見http://www.python.org/dev/peps/pep-0238/用於全文)或強迫INT操作數浮動(與float
例如,或通過附加.0
至文本)。
>>> print (4950.0*8)/(((4950.0*8)/10000000*(1538.0/1460))+0.1/1000)/1000
9270.61419262