144 votes

Arrondir un nombre à virgule flottante à l'entier le plus proche ?

Je veux prendre un nombre à virgule flottante et l'arrondir à l'entier le plus proche. Cependant, s'il ne s'agit pas d'un entier, je siempre veulent arrondir la variable à l'inférieur, quelle que soit sa proximité avec le prochain entier supérieur. Existe-t-il un moyen de faire cela ?

204voto

Ghostwriter Points 2351

Simple

print int(x)

fonctionnera également.

83voto

U2EF1 Points 3230

L'un d'eux devrait fonctionner :

import math
math.trunc(1.5)
> 1
math.trunc(-1.5)
> -1
math.floor(1.5)
> 1
math.floor(-1.5)
> -2

51voto

Huy D Points 525
x//1

Le site // L'opérateur renvoie le plancher de la division. Puisque la division par 1 ne change pas votre nombre, ceci est équivalent à floor mais aucune importation n'est nécessaire. Remarques :

  1. Cela renvoie une valeur flottante
  2. Cela fait le tour de -

34voto

DmitryG Points 349

Pour obtenir un résultat en virgule flottante, il suffit d'utiliser :

round(x-0.5)

Cela fonctionne également pour les nombres négatifs.

31voto

tejas Points 639

Je pense que vous avez besoin d'une fonction plancher :

math.floor(x)

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