Bonjour à tous, j'aurais besoin d'explications sur un point tout bête, si je fais :
J'obtiens 254.9999999997Code:
1
2 m = 100 * 2.55 print(m)
Pourquoi pas 255 ?
En vous remerciant par avance et bonne soirée :P
Version imprimable
Bonjour à tous, j'aurais besoin d'explications sur un point tout bête, si je fais :
J'obtiens 254.9999999997Code:
1
2 m = 100 * 2.55 print(m)
Pourquoi pas 255 ?
En vous remerciant par avance et bonne soirée :P
Salut,
C'est une conséquence des limitations de la représentation des nombres flottants dans la machine: des fractions en base 2. Le Python tutorial explique cela dans les détails.
- W
Merci pour la réponse :D
La manière la plus simple pour palier à ce problème serait donc d'éviter d'écrire un décimal sous cette forme et de représenter 2.55 par 255 / 100 ?
Bonne journée !
oui, mais c'est déjà ce que fait (en gros) le module decimal.
- W