[Numpy-discussion] Printing individual array elements with at least 15 significant digits

Derek Homeier derek at astro.physik.uni-goettingen.de
Sat Oct 15 15:34:10 EDT 2011


On 15.10.2011, at 9:21PM, Hugo Gagnon wrote:

> I need to print individual elements of a float64 array to a text file.
> However in the file I only get 12 significant digits, the same as with:
> 
>>>> a = np.zeros(3)
>>>> a.fill(1./3)
>>>> print a[0]
> 0.333333333333
>>>> len(str(a[0])) - 2
> 12
> 
> whereas
> 
>>>> len(repr(a[0])) - 2
> 17
> 
> which makes more sense since I am expecting at least 15 significant
> digits…
> 
> So how can I print a np.float64 with at least 15 significant digits
> (without repr!)?

You mean like 
>>> '%.15e' % (1./3)
'3.333333333333333e-01'
? 

If you are using e.g. savetxt to print to the file, you can specify the format 
the same way (actually the default for savetxt is already "%.18e", which 
should satisfy your demands).

HTH,
						Derek





More information about the NumPy-Discussion mailing list