fusuke
Messages postés3Date d'inscriptionjeudi 25 juin 2009StatutMembreDernière intervention25 juin 2009
-
25 juin 2009 à 11:17
fusuke
Messages postés3Date d'inscriptionjeudi 25 juin 2009StatutMembreDernière intervention25 juin 2009
-
25 juin 2009 à 13:24
Bonjour à tous, ôh mes maîtres !!!!
Je voudrais calculer la validité d'un IBAN.
Pour celà, je me fie à un mode de calcul donné dans Wikipédia pour l'ISO 13616, exemple :
BE43 0689 9999 9501
1ère étape :BE43068999999501
2ème étape :068999999501BE43
3ème étape :068999999501111443 avec B=11 et E = 14
4ème étape :068999999501111443 Modulo 97 = 1
Je fais donc celà en VB6, j'utilise évidemment du String.
J'ai donc 068999999501111443.
Le souci est que je veux faire un modulo de cette valeur mais si je passe la valeur en Double, j'obtiens 6,899999950111144E+16 et il me manque le "3" de la fin... du coup pour mon modulo... ben je peux m'asseoir dessus...
Quelqu'un a-t'il une idée pour éviter cet arrondi ?
Il doit certainement y avoir un truc tout bête à faire mais là, je câle...
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 juin 2009 à 12:36
Salut
Il faut utiliser une conversion en Decimal
Ce n'est pas un type directement déclarable, il faut déclarer un Variant et utiliser la bonne fonction de conversion :
Dim chaine As String
Dim chiffre As Variant
chaine = "068999999501111443"
chiffre = CDec(chaine)
Debug.Print chaine, chiffre
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)