Comment arrondir un nombre vers le haut --> deux options !

Soyez le premier à donner votre avis sur cette source.

Snippet vu 20 629 fois - Téléchargée 35 fois

Contenu du snippet

Bon alors, étant donné que VB offre l'option soit d'arrondir vers le plus près ou encore de tronquer la donnée.. il faut une solution pour arrondir un nombre vers le haut. Oublions les API, les function natives etc... allons-y avec un peu de math:

Source / Exemple :


' Passez une valeur double dans la function.  Par exemple:
' myNum = 11/5; myNum = roundUp(myNum)
' Et voilà, c'est pas plus dur que ça.

Private Function roundUp(myNum As Double) As Double
     roundUp = -Int(-(myNum))
End Function

'Vous pouvez aussi simuler un calcul ABS de la façon suivante :

Private Function myABS(myNum As Double) As Double
     roundUp = Sqr(myNum^2)
End Function

'Voilà pour la deuxième option..  Avec la racine carré de l'exposant, vous pouvez traiter les nombres FLOAT tout comme ABS.  Je vous laisse essayer de trouver un ecombinaison avec -int(-(n)) et Sqr(n^2)..  Bonne exercice !

Conclusion :


Dites-moi laquelle vous préférez ?

MadLucas.

A voir également

Ajouter un commentaire Commentaires
Messages postés
4
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
8 janvier 2007

merci
Messages postés
21
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
26 juin 2007

Merci,

C'est vraiment sympa d'y avoir pensé pour microsoft...
Messages postés
66
Date d'inscription
mardi 29 mars 2005
Statut
Membre
Dernière intervention
20 avril 2006

Youpiii...
roundUp = -Int(-(myNum))
c'est les "-" qui me manquai !!!!
MERCI
Messages postés
5
Date d'inscription
jeudi 2 décembre 2004
Statut
Membre
Dernière intervention
27 octobre 2005

Clair, précis, efficace, Bravo
Messages postés
17286
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
23 décembre 2019
67
évitez de recalculer 25.000 fois les mêmes choses :

Iif(int(n/v) = n/v, n/v, Int(n/v) + 1)

donnera

B = n\v
A = n/v
Iif(B = A, A, B + 1)


un moyen d'arrondir a .5 pret ( 2.28 : 2 et 2.64 : 3)
est :
A = N mod 5
Afficher les 20 commentaires

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.