On peut certes avoir les caractères "e", "&h", "&o", etc. qui sont des notations scientifiques ou des indicateurs de base (il y a "d" qui se comporte comme "e", je ne sais pourquoi), mais alors un val renvoie bien la bonne valeur. En revanche, on peut mettre des "F" un peu n'importe où, et IsNumeric retourne Vrai !
Pour résumer le problème :
pourquoi IsNumeric("F4,7d147FFFFF") renvoie vrai ?????
Clonk
Messages postés278Date d'inscriptionmardi 22 janvier 2002StatutMembreDernière intervention29 août 2006 28 juil. 2004 à 11:00
IsNumeric ne permet que de vérifier si ces valeurs peuvent être considérées comme numérique ou pas par le compilateur (il me semble)
Là, je pense que tu travailles en hexadécimal, donc le compilo peut prendre ces valeurs pour du numérique (0 à F, base 16).
Ou alors il est bête et méchant, et IsNumeric vérifie simplement qu'il y ait AU MOINS un caractère numérique dans la valeur, ce qui me semblerait assez bizarre...
Tabaskov
Messages postés8Date d'inscriptionlundi 16 juin 2003StatutMembreDernière intervention13 septembre 2004 28 juil. 2004 à 11:31
Non, il n'y a pas de rapport avec du héxa,
si je fais
IsNumeric("45a")
ou bien
IsNumeric("a45")
ça renvoie bien faux...
Le problème apparaît avec les "f" (je n'ai pas essayé toutes les lettres de l'alphabet).
Il y a des gens qui disent que ça ne fait pas ça chez eux, peut-être... Mais je travaille dans une boîte informatique, et tous les postes qui ont VB renvoient vrai sur IsNumeric("f4f") par exemple.
Que l'on soit en debug ou en compilé. Ca le fait même dans l'exécutable sur d'autres postes...
Alors je repose la question, avec variante ;) :
pourquoi IsNumeric("f050FfF") renvoie vrai ?????
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 28 juil. 2004 à 12:17
Vraiment désolé pour toi mais chez moi, IsNumeric("f050FfF") renvoie False !! Je suis en VB6 SP6 sur XP Pro SP1
Par contre IsNumeric("&Hf050FfF") me renvoie bien True : Logique car cela devient un nombre hexa.