crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 4 févr. 2005 à 15:20
Casy < Attention car en conversion vers in Int, tu risques l'overflow !!
Pour arrondir, mieux vaut utiliser les fonctions Int() et/ou Fix()
Pour la différence en tre Int() et Fix(), ci-dessous un extrait de MSDN
Différence entre les fonctions Int et Fix : si number est négatif, Int renvoie le premier entier négatif inférieur ou égal à number, alors que Fix renvoie le premier entier négatif supérieur ou égal à number. Par exemple, Int convertit -8,4 en -9 et Fix convertit -8,4 en -8.
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 4 févr. 2005 à 15:58
Je suis d'accord avec toi Christophe mais je n'aime vraiment pas
les fonctions Int et Fix car si ton exemple est juste essaye avec
Int(8.6) et Fix(8.6) tu verras qu'elles te renvoient toutes les deux 8
au lieu de 9. Je prefère encore utiliser Cint() et Clng() qui elles
renvoient l'arrondi juste. Tu vas quand même jusqu'à +-2147483647 avec
Clng().
Logicson
Messages postés8Date d'inscriptionvendredi 28 janvier 2005StatutMembreDernière intervention 4 février 2005 4 févr. 2005 à 19:50
Premièrement, la fonction pour arrondir (Celle que t'apprends à l'école primaire), c'est
Round(Number)
Round(2.46) donne 2
Round(3.87) donne 4
Round(-5.76) donne -6
_____
De plus, CInt c'est une fonction, ce qui veut dire qu'ell retourne une valeur. (C'est pour ça que t'a une erreur)
Finallement, tu dois tout d'abord convertir la valeur TEXTE en valeur numérique par la fonction Val(String).
Dim Nombre as Single
If Text7.Text <> "" Then
txtCDB.Text = Text7.Text * 2.204622
Text7.SetFocus
Nombre = Val(Text7.Text) ' Converti la valeur texte en valeur numérique
Nombre = Round(Nombre) ' Arrondi le Nombre
Text7.Text = CStr(Nombre) 'Convertit la valeur numérique en valeur texte
End If
Ça devrait faire l'affaire
The secret to creativity is knowing how to hide your sources - Einsetein