Maison > développement back-end > Tutoriel Python > En quoi la fonction `round()` de Python 3 diffère-t-elle des versions précédentes et pourquoi ?

En quoi la fonction `round()` de Python 3 diffère-t-elle des versions précédentes et pourquoi ?

Susan Sarandon
Libérer: 2024-12-15 18:33:11
original
218 Les gens l'ont consulté

How Does Python 3's `round()` Function Differ from Previous Versions, and Why?

Comportement d'arrondi de Python 3.0

Python 3.0 a introduit des changements importants dans la stratégie d'arrondi et le type de retour de la fonction round(). En Python 2, round(2.5) renvoie 3, tandis qu'en Python 3, il renvoie 2. De même, round(3.5) renvoie 4 dans les deux versions.

Cette modification a été apportée pour adopter la "moitié ronde à "même" ou "l'arrondi du banquier". L'arrondi dans Python 3 est désormais conforme à la norme IEEE 754 pour les mathématiques à virgule flottante, qui définit cinq méthodes d'arrondi distinctes.

Justification du changement

L'arrondi précédent le comportement (« toujours arrondir à 0,5 ») pourrait entraîner un léger biais en faveur de nombres plus grands lors de l'exécution de nombreux calculs. L'approche de Python 3 élimine ce biais.

Autres langages de programmation avec l'arrondi du banquier

Python 3 n'est pas le seul langage de programmation qui utilise l'arrondi du banquier. D'autres langages courants tels que C, Java et AppleScript implémentent également cette méthode.

Implications pour les hypothèses précédentes

La compréhension conventionnelle de l'arrondi peut ne pas correspondre au comportement actuel de round() dans Python 3. Cela peut conduire à des résultats inattendus lorsque l'on s'appuie sur des hypothèses précédentes sur l'arrondi.

Il est important de noter qu'il existe d'autres méthodes d'arrondi existantes et différents langages de programmation peuvent implémenter différentes techniques. Lorsque vous travaillez avec des nombres à virgule flottante, il est essentiel de connaître l'algorithme d'arrondi spécifique utilisé pour éviter des résultats inattendus.

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal