<div dir="ltr">See the notes section here.  

<a href="https://numpy.org/devdocs/reference/generated/numpy.around.html">https://numpy.org/devdocs/reference/generated/numpy.around.html</a>.<div><br></div><div>This note was recently added in <a href="https://github.com/numpy/numpy/pull/14392">https://github.com/numpy/numpy/pull/14392</a></div><div><br></div><div>Eric</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Sep 13, 2019 at 9:20 AM Andras Deak <<a href="mailto:deak.andris@gmail.com">deak.andris@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Fri, Sep 13, 2019 at 2:59 PM Philip Hodge <<a href="mailto:hodge@stsci.edu" target="_blank">hodge@stsci.edu</a>> wrote:<br>
><br>
> On 9/13/19 8:45 AM, Irvin Probst wrote:<br>
> > On 13/09/2019 14:05, Philip Hodge wrote:<br>
> >><br>
> >> Isn't that just for consistency with Python 3 round()?  I agree that<br>
> >> the discrepancy with np.set_printoptions is not necessarily expected,<br>
> >> except possibly for backwards compatibility.<br>
> >><br>
> >><br>
> ><br>
> > I've just checked and np.set_printoptions behaves as python's round:<br>
> ><br>
> > >>> round(16.055,2)<br>
> > 16.05<br>
> > >>> np.round(16.055,2)<br>
> > 16.06<br>
> ><br>
> > I don't know why round and np.round do not behave the same, actually I<br>
> > would even dare to say that I don't care :-)<br>
> > However np.round and np.set_printoptions should provide the same<br>
> > output, shouldn't they ? This discrepancy is really disturbing whereas<br>
> > consistency with python's round looks like the icing on the cake but<br>
> > in no way a required feature.<br>
> ><br>
><br>
> Python round() is supposed to round to the nearest even value, if the<br>
> two closest values are equally close.  So round(16.055, 2) returning<br>
> 16.05 was a surprise to me.  I checked the documentation and found a<br>
> note that explained that this was because "most decimal fractions can't<br>
> be represented exactly as a float."  round(16.55) returns 16.6.<br>
><br>
> Phil<br>
><br>
> _______________________________________________<br>
> NumPy-Discussion mailing list<br>
> <a href="mailto:NumPy-Discussion@python.org" target="_blank">NumPy-Discussion@python.org</a><br>
> <a href="https://mail.python.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/numpy-discussion</a><br>
<br>
Ah, of course, endless double-precision shenanigans...<br>
>>> format(16.055, '.30f')<br>
'16.054999999999999715782905695960'<br>
<br>
>>> format(16.55, '.30f')<br>
'16.550000000000000710542735760100'<br>
<br>
András<br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@python.org" target="_blank">NumPy-Discussion@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/numpy-discussion" rel="noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div>