Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Comportement étrange du IsNumeric [ Archives Visual Basic / Divers ] (Tabaskov)

mercredi 28 juillet 2004 à 12:07:09 | Comportement étrange du IsNumeric

Tabaskov

Le problème est simple, et je ne suis pas le seul à le constater :

? IsNumeric("f") --> Faux (c'est normal)
? IsNumeric("45a") --> Faux (normal)
? IsNumeric("1f") --> Vrai (curieux...)
? IsNumeric("f456f") --> Vrai (troublant...)
? IsNumeric("F14fFF f") --> Vrai (je n'y comprends plus rien)
? Val("F14fFF f") renvoie pourtant 0

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 !

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...


Pour résumer le problème :
pourquoi IsNumeric("F4,7d147FFFFF") renvoie vrai ?????


Merci

mercredi 28 juillet 2004 à 12:15:10 | Re : Comportement étrange du IsNumeric

juvamine


j'ai peut etre une réponse...à partir de G ça ne marche plus...
En notation hexadecimal les lettre A,B,C,D,E, et F sont utilisé pour écrire les chiffre : F1012AB est un nombre hexadecimal

dès que tu depasse F IsNumeric renvoit Faux...

par contre je n'ai malheureusement pas de solution a te proposer pr remédier a ton probleme !

++
juva

Retrouvez une équipe de développeurs confirmés sur le tchate:
serveur : bastia..net
port : 6667
chan : #programmation

mercredi 28 juillet 2004 à 12:20:53 | Re : Comportement étrange du IsNumeric

ShadowWisp

J'ai lu le thread de l'autre jour, et j'en viens à me demander si c'est pas une double cause?

Il doit bien travailler en hexa dans ton cas, mais peut etre que tu as un charset bizaroide?

Ou quelquechose dans le genre ? o0

Ou alors une mutation à eu lieu dans ta boite, et vous venez de decouvrir un concept révolutionnaire, mais permet moi d'en douter -_-

A.

mercredi 28 juillet 2004 à 12:48:58 | Re : Comportement étrange du IsNumeric

true_picpic

Salut,

j'ai essayé ton truc et moi aussi caé fait pareil (vrai si y'a f ),
mais ca vient pas de l'héxa ca je le sais, mais d'ou...?

ca doit venir d'une option car apparemment ce n'est pas le cas chez tout le monde

@++

mercredi 28 juillet 2004 à 13:55:52 | Re : Comportement étrange du IsNumeric

Tabaskov

Non, l'hexa n'a rien à voir dans tout ça, avec des "a", "b" ou "c" le IsNumeric renvoie bien faux...

Je travaille sous 2000 Pro SP4. Et c'est VB6 SP6.

Je vous assure que beaucoup de gens ont cette anomalie (si c'en est une), il faut l'avoir vue pour le croire...


merci pour les réponses,
mais on n'a toutjours pas trouvé...

mercredi 28 juillet 2004 à 14:10:39 | Re : Comportement étrange du IsNumeric

Clonk

Bon, je viens de tester un truc :
Si je fais :


Dim unitaire As Integer
unitaire = "4f"
MsgBox (IsNumeric(unitaire))

ça me renvoie true, pas de problème de cast

Par contre, si je fais :

Dim unitaire As Integer
unitaire = "4i"
MsgBox (IsNumeric(unitaire))

j'ai une erreur direct : Type incompatible!
Donc, "f" a un rôle à jouer dans les variabhles de type numérique, reste à savoir ce que c'est... Mystère!!! j'apelle Mulder???

mercredi 28 juillet 2004 à 14:29:18 | Re : Comportement étrange du IsNumeric

lumesh

pourquoi vous n'aimez pas le fait que l'hexa joue une role dans tout ca ?!
Sachant que vb6 bon ce n'est pas tres severe sur les types !
deplus en vb6 l'hexa se note comme une chaine de caractére (ou alors le &H ).
Pour moi c'est normal mais ce qui le serait moins c'est:

Dim unitaire As Integer
unitaire = "4f" <- la var en integer et tu lui passe une chaine de CHR !

pour moi c'est 100% gestion chelou de l'hexa ! (vb6)

Bouyaka !

mercredi 28 juillet 2004 à 14:34:20 | Re : Comportement étrange du IsNumeric

true_picpic

selon msdn :

IsNumeric retourne True si le type de données de l'argument Expression est Short, Integer, Long, Decimal, Single ou Short. Elle retourne également True si l'argument Expression est de type String pouvant être correctement converti en type Double. Elle retourne False si l'argument Expression est du type de données Date.

mercredi 28 juillet 2004 à 14:35:56 | Re : Comportement étrange du IsNumeric

ShadowWisp

Moi ce qui m'etonne encore plus dans le premier exemple c'est le coup de l'espace dans la chaine o0

A.

mercredi 28 juillet 2004 à 14:45:32 | Re : Comportement étrange du IsNumeric

Clonk

lumesh, je pensais aussi à l'hexa, mais alors, tu peux m'expliquer pourquoi si je fais "4a", ça plante de la meme manière que si je fais "4i" ???
Perso, C ça que je capte pas...
Pour l'espace, bah je C pas trop, peut être qu'en forçant le cast de la chaine, il supprime purement et simplement les espaces...
Apparemment, il n'y a QUE le "F" qui donne ce résultat (en tout cas, chez moi et chez Tabaskov).

Et je vois pas pourquoi un nombre concaténé à un f peut être casté, et pas un nombre concaténé d'une autre lettre...
De plus, en essayant d'afficher mon unitaire dans une messagebox, il ne m'affichait rien, mais en faisait:
msgbox(100*unitaire) il m'affichait 400... bref, je capte pas tout...


1 2

Cette discussion est classé dans : problème, vrai, renvoie, comportement, isnumeric


Répondre à ce message

Sujets en rapport avec ce message

Recherche une explication à propos du IsNumeric ... [ par Tabaskov ] Le problème est simple, et je ne suis pas le seul à le constater :? IsNumeric("f") --> Faux (c'est normal)? IsNumeric("1f") --> Vrai (curieux...)? IsN Problème requête SQL [ par patouvick ] Bonjour à tous,J'ai un problème assez étrange sur une requête SQL ! (J'utilise vb6 et une base SQL server)"Select * from Login Where User='" & userna Loop - problème ???? [ par serge99 ] Bonjour,J'effectue une loop qui me renvoie les valeurs sélectionnées d'un table dans un Datagrid. Le problème est qu'il me renvoie tout sauf un enregi Problème avec GetWindow (pour lister les fenetres) [ par MadM@tt ] Bonjour à tous,J'y comprend rien, ça m'échappe vraiment la. J'ai le code suivant :    CurrWnd = GetDesktopWindow()    CurrWnd = GetWindow(CurrWnd, GW_ IsNumeric("1.000") renvoie False !!! [ par Voltrek ] Je dois convertir une string ("1.000") en nombre pour des calculs, mais VB ne parviens pas à la convertir. IsNumeric renvoie faux.Quelqu'un a une idée Problème avec interprétation de Null [ par neimad58 ] Bonjour à tous,j'ai un petit souci, j'utilise un recordset pour récupérer des informations dans une base, et j'ai un champ qui pour des raisons techni Création d'un fichier et inscription (ini) [ par comtention ] Bonjour, J'ai un petit problème avec le code suivant :If Dir(c\:fichier.ini) = vbNullString Then ' si le fichier n'existe pasSet FSys = CreateObject(" Regread et les "\" [ par AnneLune ] Bonjour,En VBA pour Excel 2003 je rencontre un petit problème ...je dois lire la clé HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\De mise à jour de la BDD d'un datagrid [ par Severance ] Salut à tous !J'ai un problème, à mon avis simple à résoudre mais je n'arrive pas...J'ai recherché sur google mais pas moyen...Alors j'ai mis un datag RegisterServiceProcess [ par xenomor_123 ] Bonsoir à tous ! j'ai rencontré un petit problème avec l'utilisation de l'API "RegisterServiceProcess"qui logiquement permet de masquer une applicatio


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,889 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.