fraction.py

Created by ferr0fluidmann

Created on April 08, 2019

312 Bytes

Approximates a fraction from a decimal value and a specified tolerance.


from math import *

def dec_to_frac(dec, tol=0.001):
  for i in range(1,1000):
    num = i*dec
    if (num%1.0 <= tol):
      return (str(floor(num))+"/"+str(i)+" + "+str(num%1.0))
    if (1-(num%1.0) <= tol):
      return (str(ceil(num))+"/"+str(i)+" - "+str(1-(num%1.0)))
  return "no solution"