Maison > développement back-end > Tutoriel Python > Introduction à la différence entre l'arrondi en python2 et python3

Introduction à la différence entre l'arrondi en python2 et python3

巴扎黑
Libérer: 2017-08-21 14:44:51
original
2005 Les gens l'ont consulté

La méthode round() renvoie le point décimal de la valeur arrondie à n chiffres.

Syntaxe

Voici la syntaxe de la méthode round() :

round( x [, n] )

Paramètres

x --Il s'agit d'une valeur numérique, indiquant la valeur qui doit être formatée

n --Il s'agit également d'une valeur numérique, indiquant le nombre de chiffres à conserver après la virgule décimale

Valeur de retour

Cette méthode renvoie Le point décimal de la valeur La partie entière est arrondie et le résultat renvoyé est un nombre à virgule flottante.

Exemple

L'exemple suivant montre l'utilisation de la méthode round()

Lorsque nous exécutons le programme ci-dessus, ce qui produira les résultats suivants :
#!/usr/bin/python2
print "round(80.23456, 2) : ", round(80.23456, 2)
print "round(100.000056, 3) : ", round(100.000056, 3)
print "round(-100.000056, 3) : ", round(-100.000056, 3)
Copier après la connexion

La différence entre les versions Python3 et Python2
round(80.23456, 2) : 80.23
round(100.000056, 3) : 100.0
round(-100.000056, 3) : -100.0
Copier après la connexion

Python2 arrondit x au multiple le plus proche de 0, tel que round(0.5)=1, round( -0.5)=-1;

Python3 arrondira x au multiple pair le plus proche, tel comme round(0.5)=0, round(1.5)=2.0, round(2.5)=2.0

Code :

Résultat de sortie :
#!/usr/bin/python2
print round(2.635, 2)
print round(2.645, 2)
print round(2.655, 2)
print round(2.665, 2)
print round(2.675, 2)
Copier après la connexion

Défaut de la méthode round
2.63
2.65
2.65
2.67
2.67
Copier après la connexion

Grâce à l'exemple ci-dessus, vous pouvez constater que la méthode d'arrondi de round semble être conforme à notre compréhension. En fait, ce n'est pas un bug de round. Cela vient principalement de. la conversion du nombre décimal en binaire interne à l'ordinateur lors de la saisie. De plus, ce problème ne peut pas être résolu avec une précision limitée et n'a pas besoin d'être résolu.

Le module décimal de Python peut être utilisé pour résoudre ce problème.

Si vous n'avez pas besoin d'arrondir, vous pouvez également envisager d'utiliser notre méthode print("%.2f" % 2.675) la plus familière.

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!

Étiquettes associées:
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal