當我嘗試使用radius
的值作爲字典中的鍵時,出現錯誤信息KeyError: 0.73780000000000001
(這是當前半徑的值...請參閱下文): 代碼看起來在某種程度上是這樣的:python中浮點數的位數問題
for n in range(len(myarray)):
radius = (np.sqrt(x[n]**2 + y[n]**2))
的x
和y
值是帶有4位小數例如像花車:
-25.9166 71.0444
我試圖削減了小數的:
for n in range(len(myarray)):
radius = (int(np.sqrt(x[n]**2 + y[n]**2))*10000)/10000.0
我不明白爲什麼它給我回個奇怪的值0.73780000000000001
由於累積舍入誤差,鎖定浮點數不是一個好主意。請參閱[每位計算機科學家有關浮點運算的知識](http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html)。 –
謝謝,但我不是計算機科學家,我只用python進行數據分析。你知道我怎麼能解決這個問題? – user3041107
你能否給我們更多關於你想要達到的內容的背景,以及你維護一個半徑上的字典的目的是什麼?可能有更好的方法來解決你的問題。 –