Problème arrondi calcul validité IBAN

Résolu
fusuke Messages postés 3 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 25 juin 2009 - 25 juin 2009 à 11:17
fusuke Messages postés 3 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 25 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...


Bonne journée à tous,


Fusuke

3 réponses

cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
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)
3
cs_Jack Messages postés 14007 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 78
25 juin 2009 à 12:39
PS : En tapant "IBAN" dans la recherche des codes en excluant .Net, tu aurais trouvé une <source toute faite>
0
fusuke Messages postés 3 Date d'inscription jeudi 25 juin 2009 Statut Membre Dernière intervention 25 juin 2009
25 juin 2009 à 13:24
Merci beaucoup !!!

Effectivement, j'ai voulu réinventer la roue en refaisant l'algo moi-même ^_^
Mode boulet en action !!!

Fusuke
0