Python - arrondi à la dizaine la plus proche [dupliquer]

Cette question a déjà une réponse ici:

  • Python tour entier pour cent 8 réponses
  • comment arrondir des entiers en python 7 réponses

si j'obtiens le numéro 46 et je veux arrondir à la dizaine la plus proche. Comment puis-je faire cela en python?

46 passe à 50.

19
demandé sur raspberrysupreme 2014-10-19 23:47:53

4 réponses

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 il suffit de faire

>>roundup(45)
50
33
répondu Parker 2015-10-29 19:15:50

round ne prenez négatif ndigits paramètre!

>>> round(46,-1)
50

peut résoudre votre cas.

60
répondu ch3ka 2014-10-19 19:51:49

Voici une façon de le faire:

>>> n = 46
>>> (n + 9) // 10 * 10
50
13
répondu NPE 2014-10-19 19:50:20

ronde de bien:

>>> n = 46
>>> rem = n % 10
>>> if rem < 5:
...     n = int(n / 10) * 10
... else:
...     n = int((n + 10) / 10) * 10
...
>>> 50
2
répondu jvasilakes 2015-11-06 13:08:58