logo

Comment arrondir des nombres en Python ?

Dans cet article, nous discuterons de la façon d'arrondir des nombres en Python avec des méthodes appropriées et des exemples de Comment arrondir Python .

Exemple:



  Input:   3.5   Output:   4   Explanation:   Nearest whole number.   Input:   3.74   Output:   3.7   Explanation:   Rounded to one decimal place.>

Arrondir les nombres en Python

Arrondir un nombre signifie rendre le nombre plus simple en gardant sa valeur intacte mais plus proche du nombre suivant. Il existe différentes méthodes pour arrondir les nombres en Python. Nous discutons ici de certaines généralement utilisées pour Comment arrondir en Python , Vous trouverez ci-dessous les points suivants qui seront abordés dans cet article en utilisant Python :

  • Utilisation de la fonction round() intégrée
  • En utilisant Troncature concept
  • En utilisant Math.ceil() et Math.étage() les fonctions
  • En utilisant math.ceil
  • En utilisant mathématiques.étage
  • En utilisant le numpy> Module
  • En utilisant le Arrondi Notion de biais
  • Arrondir à moitié par rapport à zéro en Python

Nombres ronds en Python u chanter Intégré rond() Fonction

En Python, il existe un fonction ronde() qui arrondit un nombre au nombre de chiffres donné. La fonction round() accepte deux arguments numériques, n et n chiffres, puis renvoie le nombre n après l'avoir arrondi à n chiffres. Si le nombre de chiffres n'est pas fourni pour l'arrondi, la fonction arrondit le nombre n donné à l'entier le plus proche.

acteur bélier

Exemple : Dans cet exemple, le code ci-dessous présente la fonction `round()` pour les entiers et les nombres à virgule flottante. Il illustre également l'arrondi à deux décimales, illustrant les cas où le chiffre suivant est 5, supérieur à 5 et inférieur à 5.



python3






# For integers> print>(>round>(>11>))> # For floating point> print>(>round>(>22.7>))> # if the second parameter is present> # when the (ndigit+1)th digit is =5> print>(>round>(>4.465>,>2>))> > # when the (ndigit+1)th digit is>=5> print>(>round>(>4.476>,>2>))> > # when the (ndigit+1)th digit is <5> print>(>round>(>4.473>,>2>))>

>

>

Sortir:

11 23 4.46 4.48 4.47>

Nombres ronds en Python u chanter Troncature concept

Dans cette fonction, chaque chiffre après une position donnée est remplacé par 0. python tronquer() fonction peut être utilisé avec des nombres positifs et négatifs. La fonction de troncature peut être implémentée de la manière suivante :

  • En multipliant le nombre par 10^p (10 élevé au pèmepuissance) pour décaler la virgule décimale de p places vers la droite.
  • Prendre la partie entière de ce nouveau nombre en utilisant int().
  • Décaler la décimale p vers la gauche en divisant par 10^p.

python3




# defining truncate function> # second argument defaults to 0> # so that if no argument is passed> # it returns the integer part of number> def> truncate(n, decimals>=> 0>):> >multiplier>=> 10> *>*> decimals> >return> int>(n>*> multiplier)>/> multiplier> print>(truncate(>16.5>))> print>(truncate(>->3.853>,>1>))> print>(truncate(>3.815>,>2>))> # we can truncate digits towards the left of the decimal point> # by passing a negative number.> print>(truncate(>346.8>,>->1>))> print>(truncate(>->2947.48>,>->3>))>

>

>

Sortir:

16.0 -3.8 3.81 340.0 -2000.0>

Nombres ronds en Python u chanter Math.ceil() et Math.étage() les fonctions

Mathématiques . plafond() : Cette fonction renvoie l'entier le plus proche supérieur ou égal à un nombre donné.
Math.étage() : Cette fonction renvoie l'entier le plus proche inférieur ou égal à un nombre donné.

Exemple :Dans cet exemple, le code ci-dessous utilise la bibliothèque `math` pour calculer les valeurs plafond pour les décimales positives et négatives avec `math.ceil` et les valeurs plancher avec `math.floor`. Les sorties sont 5, 0, 2 et -1 pour les cas respectifs.

python3




# import math library> import> math> # ceil value for positive> # decimal number> print>(math.ceil(>4.2>))> # ceil value for negative> # decimal number> print>(math.ceil(>->0.5>))> # floor value for decimal> # and negative number> print>(math.floor(>2.2>))> print>(math.floor(>->0.5>))>

>

>

Sortir:

5 0 2 -1>

Nombres ronds en Python u chante math.ceil

Arrondir un nombre implique de déplacer la virgule décimale vers la droite, d'arrondir, puis de la décaler vers la gauche pour plus de précision en utilisant ` math.ceil() ` et opérations de multiplication/division.

Exemple :Dans cet exemple, le code ci-dessous définit une fonction `round_up` utilisant la bibliothèque `math`, qui arrondit un nombre à une décimale spécifiée. Il utilise la multiplication, l'arrondi avec `math.ceil()` et la division pour plus de précision. Les valeurs positives et négatives sont testées pour arrondir.

python3




# import math library> import> math> # define a function for> # round_up> def> round_up(n, decimals>=> 0>):> >multiplier>=> 10> *>*> decimals> >return> math.ceil(n>*> multiplier)>/> multiplier> # passing positive values> print>(round_up(>2.1>))> print>(round_up(>2.23>,>1>))> print>(round_up(>2.543>,>2>))> # passing negative values> print>(round_up(>22.45>,>->1>))> print>(round_up(>2352>,>->2>))>

>

>

Sortir:

3.0 2.3 2.55 30.0 2400.0>

Nous pouvons suivre le schéma ci-dessous pour comprendre l’arrondi vers le haut et vers le bas. Arrondissez vers la droite et vers le bas vers la gauche.

Comprendre l'arrondi vers le haut et vers le bas

L'arrondi vers le haut arrondit toujours un nombre à droite sur la droite numérique et l'arrondi vers le bas arrondit toujours un nombre vers la gauche sur la droite numérique.

Nombres ronds en Python u chanter mathématiques.étage

Dans Arrondir vers le bas, un nombre est arrondi à un nombre spécifié de chiffres. La fonction d'arrondi peut être implémentée de la manière suivante :

  • Tout d'abord, la virgule décimale de n est décalée du nombre correct de places vers la droite en multipliant n par 10 ** décimales.
  • La nouvelle valeur est arrondie à l'entier le plus proche en utilisant math.sol() .
  • Enfin, le point décimal est décalé vers la gauche en divisant par 10 ** décimales.

python3




import> math> # defining a function for> # round down.> def> round_down(n, decimals>=>0>):> >multiplier>=> 10> *>*> decimals> >return> math.floor(n>*> multiplier)>/> multiplier> # passing different values to function> print>(round_down(>2.5>))> print>(round_down(>2.48>,>1>))> print>(round_down(>->0.5>))>

>

>

Sortir:

2.0 2.4 -1.0>

Nombres ronds en Python u chanter le module Numpy

Le module NumPy en Python fournit le numpy.round()>fonction pour arrondir les nombres. Cette fonction arrondit chaque élément d'un tableau à l'entier le plus proche ou au nombre de décimales spécifié.

Exemple : Dans cet exemple, le code ci-dessous utilise le module NumPy pour créer un tableau `arr` et arrondit chaque élément à l'entier le plus proche (`rounded_integers`) et à deux décimales (`rounded_decimals`). Les résultats sont ensuite imprimés pour affichage.

Python3




import> numpy as np> # Creating an array> arr>=> np.array([>1.234>,>2.567>,>3.789>])> # Rounding each element to the nearest integer> rounded_integers>=> np.>round>(arr)> # Rounding each element to two decimal places> rounded_decimals>=> np.>round>(arr, decimals>=>2>)> # Displaying the results> print>(>'Nearest integer:'>, rounded_integers)> print>(>'Decimal places:'>, rounded_decimals)>

>

>

Sortir :

Nearest integer: [1. 3. 4.] Decimal places: [1.23 2.57 3.79]>

Nombres ronds en Python u chanter Biais d'arrondi concept.

Le concept de symétrie introduit la notion de biais d'arrondi, qui décrit comment l'arrondi affecte les données numériques dans un ensemble de données.
La stratégie d'arrondi vers l'infini positif a un biais d'arrondi vers l'infini positif, car la valeur est toujours arrondie vers l'infini positif. De même, la stratégie d’arrondi vers le bas présente un biais d’arrondi vers l’infini négatif. La stratégie de troncature comporte un biais d'arrondi vers l'infini négatif sur les valeurs positives et un biais d'arrondi vers l'infini positif pour les valeurs négatives. On dit que les fonctions d'arrondi avec ce comportement ont un biais d'arrondi vers zéro, en général.

a) Arrondir à moitié concept en Python

L'arrondi à mi-chemin arrondit chaque nombre au nombre le plus proche avec la précision spécifiée et brise les égalités en arrondissant au chiffre supérieur.
La stratégie d'arrondi à moitié est mise en œuvre en décalant la virgule décimale vers la droite du nombre de places souhaité. Dans ce cas, il faudra déterminer si le chiffre après la virgule décalée est inférieur ou supérieur à 5.
Nous pouvons ajouter 0,5 à la valeur qui est décalée puis l'arrondir avec la fonction math.floor().

Implémentation de la fonction round_half_up() :

Exemple: Dans cet exemple, le code ci-dessous définit `round_half_up`, une fonction d'arrondi personnalisée utilisant la méthode round half up avec `math.floor()` pour plus de précision. Les démonstrations incluent des nombres positifs et négatifs avec différentes décimales.

python3




import> math> # defining round_half_up> def> round_half_up(n, decimals>=>0>):> >multiplier>=> 10> *>*> decimals> >return> math.floor(n>*> multiplier>+> 0.5>)>/> multiplier> # passing different values to the function> print>(round_half_up(>1.28>,>1>))> print>(round_half_up(>->1.5>))> print>(round_half_up(>->1.225>,>2>))>

>

>

Sortir:

1.3 -1.0 -1.23>

b) Arrondir à moitié notion en Python

Cette méthode d'arrondi au nombre le plus proche est similaire à la méthode d'arrondi à mi-haut, la différence est qu'elle rompt les égalités en arrondissant au moindre des deux nombres. La stratégie d'arrondi à moitié inférieure est mise en œuvre en remplaçant math.floor() dans la fonction round_half_up() par math.ceil() puis en soustrayant 0,5 au lieu d'ajouter.

Implémentation de la fonction round_half_down() :

Dans cet exemple, le code ci-dessous définit « round_half_down » à l'aide de la bibliothèque « math » pour obtenir un comportement d'arrondi à moitié inférieur. Il utilise la multiplication, la soustraction et `math.ceil()` pour arrondir vers zéro. Les cas de test incluent des décimales positives et négatives, arrondies à une décimale.

python3




# import math library> import> math> # defining a function> # for round_half_down> def> round_half_down(n, decimals>=>0>):> >multiplier>=> 10> *>*> decimals> >return> math.ceil(n>*> multiplier>-> 0.5>)>/> multiplier> # passing different values to the function> print>(round_half_down(>2.5>))> print>(round_half_down(>->2.5>))> print>(round_half_down(>2.25>,>1>))>

>

>

Sortir:

2.0 -3.0 2.2>

Arrondir à moitié par rapport à zéro en Python

Dans Arrondir à moitié loin de zéro, nous devons commencer comme d'habitude en décalant la virgule décimale vers la droite d'un nombre donné de places, puis remarquer le chiffre (d) immédiatement à droite de la décimale dans le nouveau nombre. Il y a quatre cas à considérer :

  • Si n est positif et d>= 5, arrondir
  • Si n est positif et d = 5, arrondissez à l'inférieur
  • Si n est négatif et d>= 5, arrondissez à l'inférieur
  • Si n est négatif et d <5, arrondir

Après avoir arrondi selon les règles mentionnées ci-dessus, nous pouvons décaler la décimale vers la gauche.

  • Arrondir de moitié à pair : Il existe un moyen d'atténuer le biais d'arrondi lorsque nous arrondissons les valeurs d'un ensemble de données. Nous pouvons simplement arrondir les liens au nombre pair le plus proche avec la précision souhaitée. La stratégie d’arrondi demi à pair est la stratégie utilisée par le round() intégré de Python. Le classe décimale prend en charge l'arithmétique décimale à virgule flottante rapide et correctement arrondie. Cela offre plusieurs avantages par rapport au type de données float. La stratégie d'arrondi par défaut dans le module décimal est ROUND_HALF_EVEN.

Exemple: Dans cet exemple, le code ci-dessous utilise la fonction « Decimal » de la bibliothèque « decimal » pour représenter avec précision les nombres décimaux. Cela contraste avec la création d'un objet « Decimal » à partir d'une chaîne et directement à partir d'un nombre à virgule flottante. La fonction `quantize()` est ensuite utilisée pour arrondir avec des décimales spécifiées, démontrant la précision de l'arithmétique décimale.

python3




# import Decimal function from> # decimal library> from> decimal>import> Decimal> print>(Decimal(>'0.1'>))> print>(Decimal(>0.1>))> # Rounding a Decimal number is> # done with the .quantize() function> # '1.0' in .quantize() determines the> # number of decimal places to round the number> print>(Decimal(>'1.65'>).quantize(Decimal(>'1.0'>)))> print>(Decimal(>'1.675'>).quantize(Decimal(>'1.00'>)))>

>

>

Sortir:

0.1 0.1000000000000000055511151231257827021181583404541015625 1.6 1.68>