Les langages de programmation disposent de différents types de données pour gérer les informations numériques. Le type entier (int), réel (float) et python en prend en charge d'autres tels que les fractions et les complexes.
Aujourd'hui, cependant, je veux parler du type décimal. Le float ou virgule flottante présente plusieurs problèmes de précision qui ne peuvent être tolérés dans certains types d'applications comme par exemple celles liées à la finance.
Regardons un cas très simple :
from decimal import Decimal 1.0 == 0.999999999999999999 # True Decimal("1.0") == Decimal("0.999999999999999999") # False
En étendant la classe décimale, il existe le module py-money qui ajoute une devise telle que l'USD ou le COP aux nombres, permettant aux applications qui l'exigent d'avoir une précision aussi élevée que souhaitée.
Bien sûr, il n'est pas possible d'avoir une précision infinie sur un ordinateur. Cependant, le module décimal peut être réglé avec une précision aussi élevée que nécessaire :
print(getcontext().prec) # outpus 28 by default
J'ai pas mal utilisé le module décimal ainsi que la bibliothèque py-money à une époque où je travaillais sur une application financière. Il est correctement pris en charge par Django et d'autres frameworks.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!