Array and floating point

Robert Kern robert.kern at
Fri Aug 17 23:29:16 CEST 2007

Jonathan Shan wrote:
> Hello,
> I'm experiencing a problem where the float being appended to the array
> is not the same as the result of the appending.
>>>> from array import *
>>>> x = array('f')
>>>> x.append(float("0.1"))
>>>> x[0]
> 0.10000000149011612
>>>> float("0.1")
> 0.10000000000000001
> I'm expecting x[0] = 0.10000000000000001

'f' denotes a single-precision floating point number. Python's float objects are
 double-precision floating point numbers. Use 'd' instead.

Robert Kern

"I have come to believe that the whole world is an enigma, a harmless enigma
 that is made terrible by our own mad attempt to interpret it as though it had
 an underlying truth."
  -- Umberto Eco

More information about the Python-list mailing list