IsNumeric("1.000") renvoie False !!!

Résolu
Voltrek Messages postés 18 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 8 mars 2005 - 8 mars 2005 à 19:15
zombapsa Messages postés 8 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 20 septembre 2005 - 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 ?
A voir également:

6 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
8 mars 2005 à 19:37
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.
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
8 mars 2005 à 19:25
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
0
Voltrek Messages postés 18 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 8 mars 2005
8 mars 2005 à 19:37
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
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
8 mars 2005 à 19:43
ç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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Voltrek Messages postés 18 Date d'inscription mercredi 18 février 2004 Statut Membre Dernière intervention 8 mars 2005
8 mars 2005 à 19:52
Effectivement, c'est un pb de séparateur de décimal.
Pourtant, les régionals seting semblaient bons.
0
zombapsa Messages postés 8 Date d'inscription mardi 16 mars 2004 Statut Membre Dernière intervention 20 septembre 2005
9 mars 2005 à 11:28
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.
0
Rejoignez-nous