[VB6] Problème arrondi calcul validité IBAN

Problème arrondi calcul validité IBAN [VB6] - VB/VBA/VBS - Programmation

Marsh Posté le 25-06-2009 à 11:27:27    

Bonjour à tous, ôh mes maîtres !!!!  :sol:  
 
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

Reply

Marsh Posté le 25-06-2009 à 11:27:27   

Reply

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?

Reply

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  :-(

Reply

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

Reply

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

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed