Problème fractions trop grande [Résolu]

- - Dernière réponse :  python34 - 10 août 2019 à 20:30
Bonjour,

Je fais un programme concernant les équations différentielles et j'ai un problème : Lorsque le programme calcul un nombre particulier à partir de données, il affiche des fractions avec des nombres très grands inutilement. (Exemple:pour 14/3, il affiche 2627099782632789/562949953421312) Une solution pour éviter ça ?

merci d'avance
Afficher la suite 

3 réponses

Messages postés
14522
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 août 2019
168
0
Merci
Sans le code, impossible de savoir de quoi tu parles.
Commenter la réponse de NHenry
0
Merci
Le programme n'a pas d'importance, voici un code simple et ce qui l'affiche pour que vous compreniez mon problème:

from fraction import*
from math import*

a=1/3+1/4
print(Fraction(a))


et ça affiche: 2627099782632789/4503599627370496
ElementW
Messages postés
4879
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
17 août 2019
847 -
'lut, c'est du au manque de précision des nombres flottants normaux que tu obtiens avec le calcul de
a
: le nombre de chiffres derrière la virgule étant fini, le résultat du calcul (ou juste de 1/3) sera tronqué donc la fraction exacte le représentant sera longue.
Pour éviter ça il faut faire toutes tes opérations (impliquant des opérandes non représentables de manière finie en base 2) avec le type Fraction:
>>> from fractions import *
>>> a = Fraction(1, 3) + Fraction(1, 4)
>>> print(a)
7/12
Commenter la réponse de python34
0
Merci
Très bien, merci beaucoup de votre réponse
Commenter la réponse de python34