Maison >développement back-end >Tutoriel Python >Comment garantir l'arrondi des nombres en Python ?

Comment garantir l'arrondi des nombres en Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-23 12:13:10376parcourir

How do I Guarantee Rounding Up Numbers in Python?

Arrondir les nombres en Python : résoudre les écarts

Lorsque vous travaillez avec des nombres en Python, les opérations d'arrondi entrent souvent en jeu. Une tâche courante consiste à arrondir un nombre à l’entier le plus proche. Cependant, l'utilisation de la fonction traditionnelle round() peut parfois conduire à des résultats inattendus, en arrondissant les nombres vers le bas plutôt que vers le haut.

Explorer le problème de l'arrondi vers le bas

Considérez l'exemple suivant :

round(2.3)

Ce code s'attend à produire 3 en conséquence, mais renvoie 2 à la place. La fonction round() arrondit le nombre vers l'entier le plus proche, qui dans ce cas est 2.

Approches alternatives : Int() et écart d'arrondi

Tentative d'utilisation la fonction int() avec un petit décalage à arrondir, comme int(2.3 0.5), échoue également, produisant 2 au lieu du souhaité 3.

La bonne méthode : utiliser Math.ceil

La solution réside dans la fonction math.ceil (plafond). Cette fonction renvoie le plus petit entier supérieur ou égal au nombre spécifié.

Pour Python 3 :

import math
print(math.ceil(4.2))

Ce code arrondit correctement 4,2 à 5.

Pour Python 2 :

import math
print(int(math.ceil(4.2)))

Dans Python 2, la fonction ceil() renvoie un float, elle doit donc être convertie à un entier à l'aide de la fonction int().

En utilisant math.ceil, vous pouvez vous assurer que les nombres sont systématiquement arrondis à l'entier le plus proche, évitant ainsi le comportement d'arrondi inattendu rencontré avec d'autres méthodes.

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!

Déclaration:
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