我的程序用數字讀取一個文件並將其存儲在一個數組中。Python讀取非常小的十進制數
一個值,即X爲0.0000001
dataset2d = [[float(digit) for digit in line.strip().split()] for line in file]
Y= dataset2d[0][2] #(fixed position in file)
C = 0.5 * math.log((A+ Y)/(B+ Y)) #This gives divide by zero error. B can be 0 though.
我存儲在一個float數組中的值。 當我打印數組時,X值正在控制檯上顯示爲1e-07 現在,當我將它存儲到變量Y中,並用Y除數時,我得到的是除以0的錯誤。
我想用這個數字是除數,因此爲了避免除以零誤差,我想要的是實際值而不是近似值。
如何在Python中執行此操作?也就是說,在我的數組中正確讀取和存儲非常小的X值。
注意:如果我使用小數點,我可以爲整個數組做這個嗎?或者只是爲了這個在同一個地方的價值?
「現在當我讀它時,它讀取爲0.0」 - 我不知道我明白你的問題。你能澄清嗎?即使發佈一些示例代碼,我們可以用來重現該問題將會有很長的路要走:) – mgilson
您可以發佈一些代碼,瞭解您如何進行投射嗎? – rdodev
http://docs.python.org/2/library/decimal.html – tjons