float64 print digits
Grant Edwards
grante at visi.com
Fri Mar 2 10:29:47 EST 2007
On 2007-03-02, Ulrich Dorda <ulrich.dorda at cern.ch> wrote:
> I need a pytho nscript to read numbers(with loads of digits) from a
> file, do some basic math on it and write the result out to another file.
>
> My problem: I don't get python to use more digits:
>
> In order to try this I type:
>
> The normal precision one:
> >>> from numpy import *
> >>> x=1.23456789123456789123456789
> >>> print "%35.25e" %x
> 1.2345678912345679000000000e+000
>
>
> Now I try to use float64 to get more digits
You're already using 64 bit floats (which have about 15
significant digits).
> >>> z=zeros(3,float64)
> >>> z[0]
> 0.0
> >>> type(z[0])
><type 'numpy.float64'>
> >>> z[0]=1.23456789123456789123456789
> >>> type(z[0])
><type 'numpy.float64'>
> >>> print "%35.25e" %z[0]
> 1.2345678912345679000000000e+000
>
> This cuts the digits just like the 32bit case.
What 32-bit case? A 32-bit float only has 7-8 significant
digits.
> Can anyone please help me get more digits?
Use the decimal module?
--
Grant Edwards grante Yow! What a
at COINCIDENCE! I'm an
visi.com authorized "SNOOTS OF THE
STARS" dealer!!
More information about the Python-list
mailing list