[vb.net] Problème de conversion de types (String ==> Double)

cs_steppenwolf Messages postés 84 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 29 décembre 2006 - 3 juin 2005 à 14:04
cs_steppenwolf Messages postés 84 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 29 décembre 2006 - 3 juin 2005 à 15:53
Salut !

J'ai un problème dans mon programme avec une conversion de type. J'extrais des données d'un fichier texte, puis je les affecte à des variables d'un module.

Dans mon module, j'ai déclaré un objet de type Double :

Public remise_client as Double

Ensuite, je lis mon fichier et je stocke les résultats dans un tableau, et à l'instruction :

Module.remise_client = CDbl(tab2(i))

ça plante !

tab2(i) est de type texte.

C'est peut-être un peu barbare de caster du texte en Double avec CDbl() mais je vois pas comment faire autrement...

Si quelqu'un a une solution...

Merci d'avance,

Alex

10 réponses

cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
3 juin 2005 à 14:36
Salut,

Module.remise_client = Double.Parse(tab2(i))

@+
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
3 juin 2005 à 14:36
Lut,
Je ne pense pas que .net reconnaisse cela
utilises:
Module.Remise_Client = Ctype(tab2(i),Double)

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
cs_steppenwolf Messages postés 84 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 29 décembre 2006
3 juin 2005 à 14:45
Salut !

J'ai essayé : Module.Remise_Client = Ctype(tab2(i),Double)

Mais tj ce msg d'erreur :
Une exception non gérée du type 'System.InvalidCastException' s'est produite dans microsoft.visualbasic.dll


Informations supplémentaires : Cast de la chaîne "60.00" en type 'Double' non valide.
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
3 juin 2005 à 14:52
As-tu essayé ce que je t'ai proposé??????
0

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

Posez votre question
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
3 juin 2005 à 15:04
Re,
Essayes avec un replace
Re,
Module.Remise_Client = Ctype(Replace(tab2(i), ".", ","),Double)
Tu peux utiliser aussi la methode de Drashcir

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
cs_steppenwolf Messages postés 84 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 29 décembre 2006
3 juin 2005 à 15:23
Oui drahcir j'ai essayé ta solution mais ca ne marche pas ! Mais je viens de trouver :
Module.remise_client = Val(tab2(i)) !

Merci pour vos propositions !
0
cs_drahcir Messages postés 745 Date d'inscription mardi 30 novembre 2004 Statut Membre Dernière intervention 15 septembre 2009 4
3 juin 2005 à 15:28
Salut,

eh oui, normal que ce que je t'ai proposé ne marche pas, j'ai oublié le Replace(".", ",") que t'as proposé JP.

@+
0
valtrase Messages postés 937 Date d'inscription lundi 19 janvier 2004 Statut Membre Dernière intervention 9 mai 2022 3
3 juin 2005 à 15:36
Bé oui c'est normal, Mais si t'as une valeur avec un virgule ton Val ne va pas te renvoyer la bonne valeur val("12,50") te renvoi 12. Donc meiux vaut prevenir et faire un test et si t'as une virgule tu fais un replace. Ceci est aussi valable pour les deux méthodes ci-dessus

Cordialement, Jean-Paul
______________________________________________________________________

Le Savoir n'a de valeur que s'il est partagé
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
3 juin 2005 à 15:53
en fait, c'est relatif a votre windows
¸a dépend des paramètre régionnaux, si c'est une virgule ou un point.


-------------------------------------------------
Dragon alias aussi Waxime mais bon, pas le gout de refaire un nouveau profil lol
-------------------------------------------------
0
cs_steppenwolf Messages postés 84 Date d'inscription jeudi 18 septembre 2003 Statut Membre Dernière intervention 29 décembre 2006
3 juin 2005 à 15:53
Ouais mais j'ai une valeur avec un point donc tout est OK ! Merci pour votre aide !
0
Rejoignez-nous