2014-05-13 84 views
-8
In [57]: aa = 123123.123213 

In [58]: aa/12 
Out[58]: 10260.26026775 

In [59]: bb = round(aa, 2) 

In [60]: bb/12 
Out[60]: 10260.26 

在這個片段中,我已經四捨五入浮動AA到小數點後2分,創造了BB,現在當我12,爲什麼我拿到結果,以及由2分四捨五入呢?不知何故bb保留它的屬性爲小數舍入2以及?一輪浮點數魔術

+0

簡單的算術。 – devnull

+0

因爲這是正確的答案。 – Luigi

回答

5

因爲

10260.26 * 12 == 123123.12 

結果不四捨五入,但實際結果本身只是這個數字。

2

結果沒有四捨五入,結果是確切的。因爲bb = 123123.12123123.12/12等於10260.26,所以不需要超過2位小數。嘗試通過15分,你會看到它有無關輪2行以上:

>>> bb = round(123123.123123, 2) 
>>> bb/15 
>>> 8208.208 
1

嗯....錯誤的事情就是你們的榜樣的xDD

123123.12/12 = 10260.26確切地說

所以如果你做bb/5 = 24624.624它沒有舍入到2位小數。