Les decimals ?

dgje Messages postés 9 Date d'inscription vendredi 2 mai 2003 Statut Membre Dernière intervention 16 juin 2003 - 6 mai 2003 à 19:32
Jujufouq Messages postés 254 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 5 mars 2006 - 6 mai 2003 à 21:36
J'aimerai savoir comment faire pour uyiliser facilement
des variables décimales car l'ai de VB b'est pas claire :
il faut une variable Variant et après CDec...
mais je voi spa s bien ! avez vous une explication simple avec un exemple. Merci d'avance .
dgjé

1 réponse

Jujufouq Messages postés 254 Date d'inscription jeudi 27 décembre 2001 Statut Membre Dernière intervention 5 mars 2006
6 mai 2003 à 21:36
Ou lalà! J'étais parti à t'écrire tout un truc sur les variables quand je me suis rendu compte de mon incompréhension de ta question...

En fait, Decimal et un sous-type de Variant qui traite des entiers (sans chiffre après la virgule) dans une plage énorme... je la cherche... plage = +/- 79228162514264337593543950335

Ou il traite des nombres décimaux comportant jusqu'à 28 chiffres après la virgule. (Donc, plus petite valeur non-nulle = +/- 0.0000000000000000000000000001

En fait, c'est surtout pratique pour ne pas faire d'erreurs d'arrondi, par exemple dans les calculs fnanciers.

Decimal est bien un type de variable, mais comme j'ai dit plus haut, c'est un sous-type de variant, donc on ne peut pas l'affecter directement à une variable.

La solution est de passer par ce dont tu as parlé. Exemple :

'On déclare MonChiffre comme variable de type variant
Dim MonChiffre As Variant

'Maintenant, on le fait passer au sous-type décimal
MonChiffre = Cdec(MonChiffre)

Compris? En fait, du la même façon que tu fais passer une chaîne "123" en chiffre par la méthode Val(), tu fais passer ta variant en "variant Decimal".

Exemple avec la chaîne de valeur:
Dim MyString As String, MyVal As Integer
MyString = "123"
MyVal = 0
MyVal = Val(MyString)
'Maintenant MyVal = 123

on, ben j'espère que t'auras plus de pb. Sinon, ben dis-le!
Bon courage!

Jujufouq
0
Rejoignez-nous