Bizarrerie sur le test d'égalité dans un if ? [résolu] [ASP] - ASP - Programmation
Marsh Posté le 26-06-2003 à 10:09:52
KSauzeRK a écrit : Bonjour,
|
Pas fait d'asp depuis longtemps, mais a = b ca ressemble à une affectation...tu évaluerais pas le résultat de cette affectation là plutot que l'égalité de tes variables??
Marsh Posté le 26-06-2003 à 10:26:17
skeye a écrit : |
euh...non j'ai eu un moment d'inquiétude, mais en vérifiant, l'opérateur '=' devient un opérateur de test s'il est dans un if.
J'ai essayé quand même '==' pour être sur, il me sort une erreur.
Marsh Posté le 26-06-2003 à 10:56:52
KSauzeRK a écrit : |
pb de type de donnée p-e?
Marsh Posté le 26-06-2003 à 11:01:42
skeye a écrit : |
j'y avais pensé aussi, peut-être le typage dynamique qui fait que les types sont pas les mêmes...par contre je vois pas dans mon code où il aurait pu considérer l'un ou l'autre comme autre chose qu'un entier.
J'ai essayé de déclarer comme en VB
Dim blabla As Integer
mais il me jette. J'avoue que j'ai pas regardé plus loin, c'est par curiosité que j'aimerais savoir pourquoi la première solution a foiré...
Marsh Posté le 26-06-2003 à 11:22:38
Ben b il devrait considérer ça comme une valeur numérique, vu qu'il y a multiplication
pour a, par contre, peut-être qu'il le prend pour un string.
Pour être sûr que les données soient du même type, précise dans ton if
if (Cint(a)=Cint(b)) Then
ça devrait le faire.
Marsh Posté le 26-06-2003 à 11:30:47
DeliriumTremens a écrit : Ben b il devrait considérer ça comme une valeur numérique, vu qu'il y a multiplication |
Effectivement ca le fait. Je suis un boulet, num_premier_enr est en fait une chaine de caractère...sans commentaires
Merci à vous en tout cas.
Marsh Posté le 26-06-2003 à 11:35:58
Note que le "typage" serait plus utile au moment de la déclaration de la variable, par rapport à ce que j'ai dit.
a=Cint(num_premier_enr)
Comme ça a est un Int à chaque fois que tu en as besoin.
Vu que le Dim x as Type ne marche effectivement pas.
Mais non tu n'es pas un boulet
Marsh Posté le 26-06-2003 à 10:03:01
Bonjour,
Je viens de me mettre à l'ASP et j'ai constaté un truc bizarre :
Même quand a = b, le test répond toujours faux. Du coup j'obtiens un affichage du genre "10!=10". Si j'affecte 10 par exemple à a et b, là le test fonctionne.
Si par contre je remplace le test par :
là ca fonctionne ... C'est une bizarrerie connue ? J'ai raté quelque chose (c'est possible...) ?
Message édité par KSauzeRK le 26-06-2003 à 11:31:34