IsNumeric("1.000") renvoie False !!! [Résolu]

Voltrek 18 Messages postés mercredi 18 février 2004Date d'inscription 8 mars 2005 Dernière intervention - 8 mars 2005 à 19:15 - Dernière réponse : zombapsa 8 Messages postés mardi 16 mars 2004Date d'inscription 20 septembre 2005 Dernière intervention
- 9 mars 2005 à 11:28
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 ? une solution ?
Afficher la suite 

6 réponses

cs_casy 7745 Messages postés mercredi 1 septembre 2004Date d'inscription 24 septembre 2014 Dernière intervention - 8 mars 2005 à 19:37
+3
Utile
Je n'avais jamais rencontré ce problème avec IsNumeric.

Il s'agit apparement d'un problème de paramètres régionnaux dans ta
config de Windows. Si tu est configuré avec la virgule comme séparateur
décimal (France), certaine fonction de VB ne reconnaisse que les
nombres avec des virgules.

Si tu est configuré avec le points (Anglais/Internationnal) ces même fonctions reconnaissent aussi bien le point que la virgule.



Solution : Soit modifier ta config Windows, soit replacer dans tes
chaines le point par la virgule --> fonction replace (VB6 mais pas
VB5)



petite astuce : pour savoir si tu dois faire la modif, en début de prog tu fait 1/2 dans une chaine de caractère, et tu teste si le second caractère est une virgule :

virgule --> modif à faire

point --> pas de modif, pas de problème.




<hr size="2" width="100%">Si le cerveau était assez simple pour que nous puissions le comprendre,

nous serions assez bête pour ne pas le comprendre malgré tout.
Cette réponse vous a-t-elle aidé ?  
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 8 mars 2005 à 19:25
0
Utile
y a longtemps que je n'ai pas fait de VB... mais y a pas un isDecimal ?

Seb

Sébastien FERRAND
Blog :
http://blogs.developpeur.org/sebmafate
Voltrek 18 Messages postés mercredi 18 février 2004Date d'inscription 8 mars 2005 Dernière intervention - 8 mars 2005 à 19:37
0
Utile
Si VB ne considère pas la string comme un nombre, il y a peut de chance qu'il le considère comme un décimal
Gobillot 3140 Messages postés vendredi 14 mai 2004Date d'inscription 31 mars 2015 Dernière intervention - 8 mars 2005 à 19:43
0
Utile
ça dépend de ta configuration, si le séparateur décimal est la vigule tu dois mettre ("1,000")
il n'y a qu'un seul séparateur décimal ...
par contre si le séparateur des milliers est la vigule elle sera considérée comme numérique.

Daniel
Voltrek 18 Messages postés mercredi 18 février 2004Date d'inscription 8 mars 2005 Dernière intervention - 8 mars 2005 à 19:52
0
Utile
Effectivement, c'est un pb de séparateur de décimal.
Pourtant, les régionals seting semblaient bons.
zombapsa 8 Messages postés mardi 16 mars 2004Date d'inscription 20 septembre 2005 Dernière intervention - 9 mars 2005 à 11:28
0
Utile
quoi que, pas sûr ...
j'ai déjà eu des problèmes avec isnumeric, notamment avec des chaines commençant par 1F
isnumeric(1F) me retournait vrai
Explication d'un 'spécialiste' : normal, isnumeric doit considérer 1F comme de l'héxadécimal.
Ouais, sauf que avec isnumeric(1E), ça retournait faux. Donc l'explication héxadécimale tombait à l'eau.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.