85 votes

Arrondir à deux décimales dans Python 2.7 ?

En utilisant Python 2.7, comment puis-je arrondir mes nombres à deux décimales au lieu de la dizaine qu'il donne ?

print "financial return of outcome 1 =","$"+str(out1)

2voto

Midhun M M Points 21

Lorsque nous utilisons la fonction round(), elle ne donne pas des valeurs correctes.

vous pouvez le vérifier en utilisant, arrondir (2,735) et arrondir(2,725)

à utiliser

import math
num = input('Enter a number')
print(math.ceil(num*100)/100)

1voto

John Doe Points 423
print "financial return of outcome 1 = $%.2f" % (out1)

0voto

Shan Niz Points 59

Une solution assez simple consiste à convertir d'abord le flottant en chaîne, puis à sélectionner la sous-chaîne des quatre premiers nombres, et enfin à reconvertir la sous-chaîne en flottant. Par exemple :

>>> out1 = 1.2345
>>> out1 = float(str(out1)[0:4])
>>> out1

Ce n'est peut-être pas très efficace, mais c'est simple et ça marche :)

0voto

Lucas VL Points 9

En arrondissant au 0,05 supérieur, je procéderais de la manière suivante :

def roundup(x):
    return round(int(math.ceil(x / 0.05)) * 0.05,2)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X