On 9/13/19 8:45 AM, Irvin Probst wrote:
On 13/09/2019 14:05, Philip Hodge wrote:
Isn't that just for consistency with Python 3 round()? I agree that
the discrepancy with np.set_printoptions is not necessarily expected,
except possibly for backwards compatibility.
I've just checked and np.set_printoptions behaves as python's round:
>>> round(16.055,2)
16.05
>>> np.round(16.055,2)
16.06
I don't know why round and np.round do not behave the same, actually I
would even dare to say that I don't care :-)
However np.round and np.set_printoptions should provide the same
output, shouldn't they ? This discrepancy is really disturbing whereas
consistency with python's round looks like the icing on the cake but
in no way a required feature.
Python round() is supposed to round to the nearest even value, if the
two closest values are equally close. So round(16.055, 2) returning
16.05 was a surprise to me. I checked the documentation and found a
note that explained that this was because "most decimal fractions can't
be represented exactly as a float." round(16.55) returns 16.6.
Phil
_______________________________________________
NumPy-Discussion mailing list
NumPy-Discussion@python.org
https://mail.python.org/mailman/listinfo/numpy-discussion