float64 print digits
Peter Otten
__peter__ at web.de
Fri Mar 2 06:15:10 EST 2007
Ulrich Dorda wrote:
[Warning: I'm no expert and don't have numpy installed]
> 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
>
> >>> z=zeros(3,float64)
> >>> z[0]
> 0.0
> >>> type(z[0])
> <type 'numpy.float64'>
> >>> z[0]=1.23456789123456789123456789
The right side of the assignment is a float, so the extra digits would
already be lost before you get a chance to convert to float64. But then
Python's float is a C double and should already use 64 bits...
> >>> type(z[0])
> <type 'numpy.float64'>
> >>> print "%35.25e" %z[0]
> 1.2345678912345679000000000e+000
>
> This cuts the digits just like the 32bit case.
>
> Can anyone please help me get more digits?
gmpy?
Peter
More information about the Python-list
mailing list