Voltrek
Messages postés18Date d'inscriptionmercredi 18 février 2004StatutMembreDernière intervention 8 mars 2005
-
8 mars 2005 à 19:15
zombapsa
Messages postés8Date d'inscriptionmardi 16 mars 2004StatutMembreDernière intervention20 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 ?
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 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.
Gobillot
Messages postés3140Date d'inscriptionvendredi 14 mai 2004StatutMembreDernière intervention11 mars 201934 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
Vous n’avez pas trouvé la réponse que vous recherchez ?
zombapsa
Messages postés8Date d'inscriptionmardi 16 mars 2004StatutMembreDernière intervention20 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.