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

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

6 réponses

Meilleure réponse
Messages postés
7745
Date d'inscription
mercredi 1 septembre 2004
Dernière intervention
24 septembre 2014
- 8 mars 2005 à 19:37
3
Merci
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.

Merci cs_casy 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 90 internautes ce mois-ci

Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 8 mars 2005 à 19:25
0
Merci
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
Messages postés
18
Date d'inscription
mercredi 18 février 2004
Dernière intervention
8 mars 2005
- 8 mars 2005 à 19:37
0
Merci
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
Messages postés
3140
Date d'inscription
vendredi 14 mai 2004
Dernière intervention
31 mars 2015
- 8 mars 2005 à 19:43
0
Merci
ç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
Messages postés
18
Date d'inscription
mercredi 18 février 2004
Dernière intervention
8 mars 2005
- 8 mars 2005 à 19:52
0
Merci
Effectivement, c'est un pb de séparateur de décimal.
Pourtant, les régionals seting semblaient bons.
Messages postés
8
Date d'inscription
mardi 16 mars 2004
Dernière intervention
20 septembre 2005
- 9 mars 2005 à 11:28
0
Merci
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.