Arrondi

Résolu
Signaler
Messages postés
309
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
5 mars 2009
-
Messages postés
5
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
21 novembre 2008
-
bonjour,
j'aurais voulu savoir comment, en VB6, on peut forcer l'arrondie à la valeur supérieur, et de meme l'arrondie à la valeur inférieur.

dans des cas, je voudrais que 2.3 soir arrondi a 3 et dans d'autre que 2,8 soit arrondie à 2, mais de base, VB arrondie à l'entier le plus proche :/

Final Fantasy Memories Venez découvrir les origines d'une saga

5 réponses

Messages postés
78
Date d'inscription
samedi 4 août 2001
Statut
Membre
Dernière intervention
29 mars 2007

Une technique plus rapide:


Dim Chiffre as Val
Dim ArondiUn As Val
Dim ArondiZero As Val
Dim ArondiExce As Val

ArondiUn = Round(CHiffre, 1)  
ArondiZero = Round(CHiffre, 0) 

If ArondiUn > ArondiZero Then
ArondiExce = ArondiZero + 1 
Else
ArondiExce = ArondiZero
End If

3
Merci

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

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

Messages postés
134
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
6 juin 2007

Pour arrondir à la valeur inférieure, utilise :
Arrondi=Int(val)
Attention,il prend la partie entière. donc, si tu veux effectuer cet arrondi sur des décimaux, tu doit ruser :
arrondi = Int(val*(10^précision))/(10^précision)

Pour arrondir à l'entier supérieur rajoute la ligne :
if arrondi<>val then arrondi=arrondi+1

J'espère que c'est ce que tu vaoulais...

AlicVB
Messages postés
309
Date d'inscription
vendredi 9 janvier 2004
Statut
Membre
Dernière intervention
5 mars 2009

je vais essayer de m'en sortir avec ca, merci ^___^
ca correspond a quoi "précision" ?

Final Fantasy Memories Venez découvrir les origines d'une saga
Messages postés
134
Date d'inscription
vendredi 19 mars 2004
Statut
Membre
Dernière intervention
6 juin 2007

precision, c'est si tu veux arrondir en gardant des décimales

si val=2.384 et precision=2 tu obtiens 2.38 (en arrondissant en dessous)

si tu n'as pas besoin des décimales, oublie la ligne qui parle de précision...
Messages postés
5
Date d'inscription
samedi 5 juillet 2003
Statut
Membre
Dernière intervention
21 novembre 2008

Est-il possible d'avoir tous cela sans passé par un if then else +1
car j'aimerais intégré cela dans un query.

Je pense qu'il existe une fonction qui donne l'arrondi supérieur
d'un nombre en vb6, mais je ne me rappelle plus comment faire...