La documentation de la fonction round () indique que vous lui transmettez un nombre et que les positions après la virgule sont arrondies. Ainsi, il devrait faire ceci:
n = 5.59
round(n, 1) # 5.6
Mais, en réalité, la bonne vieille bizarrerie en virgule flottante s'infiltre et vous obtenez:
5.5999999999999996
Pour les besoins de l'interface utilisateur, je dois afficher 5.6. J'ai fouillé sur Internet et j'ai trouvé de la documentation indiquant que cela dépend de mon implémentation de Python. Malheureusement, cela se produit à la fois sur ma machine de développement Windows et sur chaque serveur Linux que j'ai essayé. Voir aussi ici .
À moins de créer ma propre bibliothèque ronde, y a-t-il un moyen de contourner cela?
round(5.55, 1) = 5.5.