Logo

Programming-Idioms

This language bar is your friend. Select your favorite languages!
  • Python

Idiom #349 Convert a fraction into a decimal value

Parse a value, f, into a decimal number, a.

For example, `1/2` is 0.5, and `3 1/8` is 3.125.

https://en.wikipedia.org/wiki/Fraction

from fractions import Fraction
a = map(Fraction, f.split())
a = sum(map(float, a))

The `Fraction` class does not parse "mixed fractions".
from re import split
s = split('[ /]', f)
*i, n, d = map(int, s)
a = sum(i, n / d)
let z = 0, n, d, i, a
if ((i = f.indexOf(' ')) != -1) {
    z = parseInt(f.substring(0, i))
    f = f.substring(++i).trim()
}
i = f.indexOf('/')
n = parseInt(f.substring(0, i))
d = parseInt(f.substring(++i))
a = z + (n / d)

New implementation...
< >
reilas