Ceci est un problème de devoirs. Je veux écrire une fonction pour convertir un float en une paire d'entiers: numérateur et dénominateur. Par exemple: float 0.5 devrait être converti en (1,2).Comment convertir un flotteur en fraction?
Je suis en train d'essayer. (voir ci-dessous) mais franchement ça ne me va pas très bien.
// f is the input float
int n = 1
while(fractional_part(f) > 0)
f *= 10;
n++
int m = f;
gcd = gcd(m, n)
return (m/gcd, n/gcd)
Comment convertir un flottant en fraction?
Si c'est des devoirs, je suppose que vous devriez essayer de le résoudre seul d'apprendre ... Il est à votre avantage ... –
Voir [cette réponse] (http: // stackoverflow .com/questions/4266741/check-if-a-number-is-rational-in-python/4266999 # 4266999). –
Étroitement en rapport avec [Comment convertir des flottants en fractions lisibles par l'homme?] (Http://stackoverflow.com/q/95727/2509) – dmckee