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

zigxag 142 Messages postés jeudi 10 février 2005Date d'inscription 2 octobre 2008 Dernière intervention - 6 mars 2006 à 09:18 - Dernière réponse : dgouttegattat 129 Messages postés mardi 22 novembre 2005Date d'inscription 30 décembre 2007 Dernière intervention
- 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
dgouttegattat 129 Messages postés mardi 22 novembre 2005Date d'inscription 30 décembre 2007 Dernière intervention - 6 mars 2006 à 10:18
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().

Merci dgouttegattat 5

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

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

int nombreArrondi = (int)(decimal.Round((decimal)nombreInitial / 10) * 10);
Commenter la réponse de Nikoui
Nikoui 794 Messages postés vendredi 24 septembre 2004Date d'inscription 19 août 2008 Dernière intervention - 6 mars 2006 à 10:18
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.