repr of floating points
Josiah Carlson
jcarlson at uci.edu
Sun Jun 6 03:07:57 EDT 2004
> repr(0.1) is '0.10000000000000001', in my Python 2.3.
> From reading the article "Floating Point Arithmetic: Issues and
> Limitations", I understand that it's the closest 17-digit decimal
> representation of the binary floating-point number actually stored.
>
> However, I don't understand why this should be what repr of floats
> returns. repr should, if possible, return a string that evaluating it
> will be == to the original object. But eval("0.1") obviously returns the
> same floating point as 0.1 does! So why not make repr of floats return
> the *shortest* decimal representation that will evaluate to the stored
> binary number? Specifically, why not make repr(0.1) be "0.1"?
Search the archives of python-dev. The answer lies within. Search
before asking next time.
- Josiah
More information about the Python-list
mailing list