Issue 3288: document as_integer_ratio(), fromhex(), and hex().
This commit is contained in:
parent
d12dcaea3e
commit
9fce0ba9e2
|
@ -138,7 +138,39 @@ method's format specifiers in :ref:`formatstrings`.
|
||||||
If you are a heavy user of floating point operations you should take a look
|
If you are a heavy user of floating point operations you should take a look
|
||||||
at the Numerical Python package and many other packages for mathematical and
|
at the Numerical Python package and many other packages for mathematical and
|
||||||
statistical operations supplied by the SciPy project. See <http://scipy.org>.
|
statistical operations supplied by the SciPy project. See <http://scipy.org>.
|
||||||
|
|
||||||
|
Python provides tools that may help on those rare occasions when you really
|
||||||
|
*do* want to know the exact value of a float. The
|
||||||
|
:meth:`float.as_integer_ratio` method expresses the value of a float as a
|
||||||
|
fraction::
|
||||||
|
|
||||||
|
>>> x = 3.14159
|
||||||
|
>>> x.as_integer_ratio()
|
||||||
|
(3537115888337719L, 1125899906842624L)
|
||||||
|
|
||||||
|
Since the ratio is exact, it can be used to losslessly recreate the
|
||||||
|
original value::
|
||||||
|
|
||||||
|
>>> x == 3537115888337719 / 1125899906842624
|
||||||
|
True
|
||||||
|
|
||||||
|
The :meth:`float.hex` method expresses a float in hexadecimal (base
|
||||||
|
16), again giving the exact value stored by your computer::
|
||||||
|
|
||||||
|
>>> x.hex()
|
||||||
|
'0x1.921f9f01b866ep+1'
|
||||||
|
|
||||||
|
This precise hexadecimal representation can be used to reconstruct
|
||||||
|
the float value exactly::
|
||||||
|
|
||||||
|
>>> x == float.fromhex('0x1.921f9f01b866ep+1')
|
||||||
|
True
|
||||||
|
|
||||||
|
Since the representation is exact, it is useful for reliably porting values
|
||||||
|
across different versions of Python (platform independence) and exchanging
|
||||||
|
data with other languages that support the same format (such as Java and C99).
|
||||||
|
|
||||||
|
|
||||||
.. _tut-fp-error:
|
.. _tut-fp-error:
|
||||||
|
|
||||||
Representation Error
|
Representation Error
|
||||||
|
|
Loading…
Reference in New Issue