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
.