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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 20 888 fois - Téléchargée 37 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
teststes
Messages postés
4
Date d'inscription
mercredi 4 octobre 2006
Statut
Membre
Dernière intervention
8 janvier 2007

7 août 2008 à 01:48
merci
cs_MSergio
Messages postés
21
Date d'inscription
vendredi 28 janvier 2005
Statut
Membre
Dernière intervention
26 juin 2007

11 juin 2007 à 09:19
Merci,

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

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

29 déc. 2004 à 15:46
Clair, précis, efficace, Bravo
Renfield
Messages postés
17287
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
19 nov. 2004 à 13:11
é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.