Ben Bacarisse <ben.usenet <at> bsb.me.uk> writes:
> [1] Not being a Python expert I don't know how you show that actual
> value of a float.  What is the Pythonic way to do that?

I don't know about Pythonic, but here are some options.

1. Convert the float to Decimal, and print the result. This shows
   the exact binary value that's stored, but displays it in decimal.
   Be aware that the result will be hundreds of digits long for
   very large or very small floats.

   >>> print(Decimal(pi))
   3.141592653589793115997963468544185161590576171875

2. If you're happy with a hexadecimal representation, use the
   float.hex method. Again, this shows the exact value stored.

   >>> print(pi.hex())
   0x1.921fb54442d18p+1

3. To get an equivalent fraction, convert to the fractions.Fraction
   type or use the as_integer_ratio method.

   >>> from fractions import Fraction
   >>> print(Fraction(pi))
   884279719003555/281474976710656
   >>> print(pi.as_integer_ratio())
   (884279719003555, 281474976710656)

-- 
Mark (who should probably take a numerical methods class someday)

-- 
https://mail.python.org/mailman/listinfo/python-list

Reply via email to