Arrondir au +5 supérieur [Résolu]

Messages postés
142
Date d'inscription
jeudi 10 février 2005
Dernière intervention
2 octobre 2008
- - Dernière réponse : dgouttegattat
Messages postés
129
Date d'inscription
mardi 22 novembre 2005
Dernière intervention
30 décembre 2007
- 6 mars 2006 à 10:18
Bonjour,
c'est peut etre une question de débutant, mais je n'arrive pas à savoir comment faire pour arrondir un nombre au +5 supérieur.... Heu, un petit exemple pour mieux comprendre :
Comment arrondir 58 en 60, ou comment arrondir 52 en 55...?

Vous savez ?
Merci d'avance...
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
129
Date d'inscription
mardi 22 novembre 2005
Dernière intervention
30 décembre 2007
5
Merci
Salut zigxag,
Voilà une solution possible:
int result = (int)Math.Ceiling(val / 5.0) * 5;
// où val est le nombre à arrondir.
Explication:
Tu divises ton nombre par 5 (ou plus exactement par 5.0 pour avoir une valeur flottante), tu arrondis le résultat à l'entier supérieur (avec Ceiling()) puis tu multiplies par 5.Exemple: 58 / 5.0 11.6, donc 12 * 5 60.
Si tu voulais arrondir au -5 inférieur, il suffirait de remplacer Math.Ceiling() par Math.Floor().

Dire « Merci » 5

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Commenter la réponse de dgouttegattat
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Dernière intervention
19 août 2008
0
Merci
Une solution pourrait etre :

int nombreArrondi = (int)(decimal.Round((decimal)nombreInitial / 10) * 10);
Commenter la réponse de Nikoui
Messages postés
794
Date d'inscription
vendredi 24 septembre 2004
Dernière intervention
19 août 2008
0
Merci
oups petite erreur j'avais mal lu la question...

Pour arrondir de 5 en 5, "au +5 supérieur", tu peux faire par exemple :

public int Round(int n)
{
int r;
int q = Math.DivRem(n, 5, out r);
if (r != 0)
{
q++;
}
return (q * 5);
}
Commenter la réponse de Nikoui

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.