Ask Your Question
0

Decimal to fraction?

asked 11 years ago

bxdin gravatar image

I did .1/8, and the output was 0.0125000000. Is there a way to get it to display as 1/80.

Preview: (hide)

3 Answers

Sort by » oldest newest most voted
3

answered 11 years ago

tmonteil gravatar image

updated 11 years ago

There are at least three ways to recover a rational from one of its numerical approximations:

sage: a = .1/8
sage: a.simplest_rational()
1/80
sage: a.nearby_rational(0.0001)
1/80
sage: a.exact_rational()
3602879701896397/288230376151711744

You can have a look to their respective documentations to see the differences. And you should understand that the floating point number a is not equal to 1/80 but to 3602879701896397/288230376151711744 !

Preview: (hide)
link
1

answered 11 years ago

ppurka gravatar image
Preview: (hide)
link

Comments

it is fun as also the answers are duplicate ;-)

vdelecroix gravatar imagevdelecroix ( 11 years ago )
0

answered 11 years ago

dazedANDconfused gravatar image

updated 11 years ago

I've posted an alternate answer to the question at the link above. The basic answer: I ran across another way that's posted here where the author, John D Cook mentions the nsimplify command in SymPy (which you can can access in Sage). Here's nsimplify in action with your example image description

Preview: (hide)
link

Comments

nsimplify is much more subtle and does not always return a rational as with nsimplify(3.2352)

vdelecroix gravatar imagevdelecroix ( 11 years ago )

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 11 years ago

Seen: 2,014 times

Last updated: Sep 15 '13