Problème fractions trop grande
Résolu/Fermé
A voir également:
- Problème fractions trop grande
- Photo trop grande pour fond d'écran samsung - Forum Samsung
- Le fichier est trop grand pour le système de fichier de destination ✓ - Forum Windows
- Note de bas de page word espace trop grand ✓ - Forum Word
- Alinéa trop grand word - Forum Bureautique
- Affichage youtube trop grand ✓ - Forum YouTube
3 réponses
NHenry
Messages postés
15112
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
13 avril 2024
330
10 août 2019 à 13:36
10 août 2019 à 13:36
Sans le code, impossible de savoir de quoi tu parles.
Le programme n'a pas d'importance, voici un code simple et ce qui l'affiche pour que vous compreniez mon problème:
et ça affiche: 2627099782632789/4503599627370496
from fraction import* from math import* a=1/3+1/4 print(Fraction(a))
et ça affiche: 2627099782632789/4503599627370496
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 225
10 août 2019 à 16:11
10 août 2019 à 16:11
'lut, c'est du au manque de précision des nombres flottants normaux que tu obtiens avec le calcul de
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:
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