Comme dit au-dessus, c'est bien une erreur de l'utilisateur de s'attendre à obtenir strictement 0 au lieu de la valeur en 1e-17. Si on veut faire des calculs exacts en écriture décimale, il faut utiliser... le module decimal:
>>> from decimal import Decimal
>>> Decimal("2")-Decimal("1.8")-Decimal("0.2")
Decimal('0.0')
# C'est bien une erreur de la part de l'utilisateur !
Posté par THE_ALF_ . En réponse au journal [Humour] vers un monde différent. Évalué à 9.
Comme dit au-dessus, c'est bien une erreur de l'utilisateur de s'attendre à obtenir strictement 0 au lieu de la valeur en 1e-17. Si on veut faire des calculs exacts en écriture décimale, il faut utiliser... le module decimal: