Problème arrondi calcul validité IBAN [VB6] - VB/VBA/VBS - Programmation
Marsh Posté le 25-06-2009 à 11:47:00
question con peut-etre vu que je ne connais pas vb, mais pourquoi tu castes pas ta chaine dans un entier?
Marsh Posté le 25-06-2009 à 11:55:06
Tout simplement parce que l'entier n'est pas assez grand:
les limites du type Integer en VB6 sont de - 32 768 à 32 767 :-(
Marsh Posté le 25-06-2009 à 12:01:37
ha, ceci dit l'usage de mod semble déconseillé sur des double
http://msdn.microsoft.com/en-us/li [...] S.80).aspx
Marsh Posté le 25-06-2009 à 13:26:12
C'est bon, on m'a conseillé de passer ma String en CDec(MaString) et il n'y a plus d'arrondi.
Merci à tous ceux qui ont cherchés pour moi.
Fusuke
Marsh Posté le 25-06-2009 à 11:27:27
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