2015-05-14 56 views
1

當使用numpy創建數組時,它執行類似「反向循環」的操作。輸入列表是[0.7],numpy.array輸出是[0.69999999999999996]。爲什麼會發生?在numpy.array出現意外的反向循環

>>> import numpy 
>>> nparray = numpy.array([0.7]) 
>>> nparray[0] 
// why is not 0.7 ? 
0.69999999999999996 

UPDATE:

使用D型= numpy.dtype(decimal.Decimal)的作品,但我不明白爲什麼,任何想法? :

>>> import numpy,decimal 
>>> nparray = numpy.array([0.7],dtype=numpy.dtype(decimal.Decimal)) 
>>> nparray[0] 
0.7 
+2

這不是'numpy'相關的,在控制檯中嘗試''%.17f「%0.7'。這是由於浮點數。見[這裏](http://docs.oracle.com/cd/E19957-01/806-3568/ncg_goldberg.html) – gg349

回答