web-dev-qa-db-fra.com

Python - arrondissez au dix le plus proche

Si je reçois le nombre 46 et que je veux arrondir au dix le plus proche. Comment puis-je faire cela en python?

46 passe à 50.

34
raspberrysupreme

Vous pouvez utiliser math.ceil() pour arrondir, puis multiplier par 10

import math

def roundup(x):
    return int(math.ceil(x / 10.0)) * 10

Pour utiliser juste faire

>>roundup(45)
50
51
Parker

round prend le paramètre négatif ndigits!

>>> round(46,-1)
50

peut résoudre votre cas.

88
ch3ka

Voici une façon de le faire:

>>> n = 46
>>> (n + 9) // 10 * 10
50
14
NPE

Ceci arrondira également correctement:

>>> n = 46
>>> rem = n % 10
>>> if rem < 5:
...     n = int(n / 10) * 10
... else:
...     n = int((n + 10) / 10) * 10
...
>>> 50
7
jvasilakes