2014-10-16 54 views
-2

我想添加兩個浮動數字,我無法去工作。我需要的輸出是100.0 我在這裏做錯了什麼。感謝您的任何建議。.01蟒蛇加法的價值是什麼

mystring = 'Value: 99.9  Date: 20130215' 
tot = float(mystring[8:13]) 
print (float(tot) + .01) 

我需要的TOT = 100.0,如果任何一個可以幫助謝謝

我得到99.91

+8

99.9 + 0.01也不是100,這是99.91 – 2014-10-16 18:41:11

+0

我建議閱讀[浮動點關節類型](https://docs.python.org/2/tutorial/floatingpoint.html)文檔 – Grice 2014-10-16 18:41:15

+1

你不應該加0.1而不是0.01嗎? – pjd 2014-10-16 18:41:16

回答

1

兩個問題:

  1. 增加.01 99.9結果在99.91中,不是100.0。
  2. 浮點數學並不總是產生你認爲它的作用,因爲並不是所有的數字都可以用浮點精確表示。你不應該期待一個浮動指針操作的結果是一個精確的數字

更多關於(2),見floating point arithmetic