Problème arrondi calcul validité IBAN [Résolu]

Signaler
Messages postés
3
Date d'inscription
jeudi 25 juin 2009
Statut
Membre
Dernière intervention
25 juin 2009
-
Messages postés
3
Date d'inscription
jeudi 25 juin 2009
Statut
Membre
Dernière intervention
25 juin 2009
-
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

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

Merci beaucoup !!!

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

Fusuke