Skip to content

Use the shortest repr for np.float32/float64 (Trac #2051) #2643

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
numpy-gitbot opened this issue Oct 19, 2012 · 3 comments
Closed

Use the shortest repr for np.float32/float64 (Trac #2051) #2643

numpy-gitbot opened this issue Oct 19, 2012 · 3 comments

Comments

@numpy-gitbot
Copy link

Original ticket http://projects.scipy.org/numpy/ticket/2051 on 2012-02-12 by trac user beaujolais, assigned to unknown.

Python 2.7 and 3.1 now always use the shortest decimal representation for numbers that are not exactly representable by a binary float (see [http://bugs.python.org/issue1580]).

This causes some very surprising inconsistencies with NumPy's own repr:

x = 0.1
x
0.1
a = np.array([x])
a
array([ 0.1])
a[0]
0.10000000000000001
float(a[0])
0.1
type(a[0])
<class 'numpy.float64'>

For the sake of consistency I suggest adopting the same repr in NumPy.

@numpy-gitbot
Copy link
Author

trac user beaujolais wrote on 2012-02-12

Sorry for the poor formatting:

>>> x = 0.1
>>> x
0.1
>>> a = np.array([x])
>>> a
array([ 0.1])
>>> a[0]
0.10000000000000001
>>> float(a[0])
0.1
>>> type(a[0])
<class 'numpy.float64'>

@charris
Copy link
Member

charris commented Feb 21, 2014

Deciding on the needed precision is tricky. Perhaps we should take a look at how Python does it. Not done in 1.9-devel.

@ahaldane
Copy link
Member

ahaldane commented Nov 5, 2017

Closed by #9941

@ahaldane ahaldane closed this as completed Nov 5, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants