bil kid
Messages postés11Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention19 septembre 2004
-
19 sept. 2004 à 00:45
cs_schtroumf
Messages postés59Date d'inscriptionmercredi 8 octobre 2003StatutMembreDernière intervention22 juillet 2008
-
18 févr. 2006 à 16:37
Voila mon problème:
a=(720*60)/(t*500)
Ceci a lieu dans une procédure click, et a comme t sont deux variable currency. T aynat pour valeur 1.
Quand le code s'execute, j'ai erreur n°6, avec depassement de capacité.
M'enerve ça!!!
Et ce qui m'enerve encore plus, c'est que si je transorme cela en:
a= (72000*6000)/(t*500)
La ça passe.
C'est un bug ou quoi sous VB6???
A+
Phil
bil kid
Messages postés11Date d'inscriptionmardi 23 décembre 2003StatutMembreDernière intervention19 septembre 2004 19 sept. 2004 à 08:47
Faut le faire quand même!
Moi qui tenais à laisser ce 60*720 pour me permettre de comprendre le code ulterieurement, ben la j'ai fait la multiplication moi-même. >:)
Merci Frop01.
A+
Phil
cs_schtroumf
Messages postés59Date d'inscriptionmercredi 8 octobre 2003StatutMembreDernière intervention22 juillet 2008 18 févr. 2006 à 16:37
Juste pour donner une petite précision. Quand on fait une multiplication bête de 2 int par exemple 2*3 la multiplication est acceptée parce que le résultat est un int. Par contre si on fait 255*601, le résultat n'est plus un int mais un long donc vb consdère qu'il y a dépassement de capacité. Pour faire 255*601 il faut ecrire en fait clng(255)*601 => on a un int et un long avec un resulat de type long donc ça marche. C'est tordu mais il faut le savoir