IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Convertir une chaine caractere en double [Débutant]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Par défaut Convertir une chaine caractere en double
    Bonjour,
    j'ai plusieurs liste de chaines de caractère que je voudrai convertir en liste de double, j'ai tenté de faire comme suit mais ça ne fonctionne pas.
    Quelqu'un saurait il me corriger, merci d'avance
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
            private List<string> V1 = new List<string>(); 
     
               for (int i = 0; i < liste1.Count; i++)
                {
                    x = tps[i];//autre liste de double
                    y1 = Convert.ToDouble(V1); // c'est ici que ça foire :(
                    list.Add(x, y1); 
                }
    Dans les propriétés de ma Form j'ai mis localizable à "true" ainsi que le langage à fr.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 69
    Par défaut
    Bonjour,

    Pourquoi veux-tu convertir une liste vide (V1) en double?

    Si cela ne résout pas ton problème, peux tu nous donner les types de chacune de tes variables?

  3. #3
    Membre éclairé Avatar de Faereth
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2007
    Messages : 92
    Par défaut
    Tu as essayé de faire remplacer tes point par des virgules? Ou inversement ?

    Généralement j'utilise ça comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public static string Separateur = CultureInfo.CurrentCulture.NumberFormat.NumberDecimalSeparator;
     
    y1 = Convert.ToDouble(V1.Replace(".", Separateur).Replace(",", Separateur);
    J'espère que ça pourra t'aider !

  4. #4
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Juillet 2007
    Messages
    693
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 693
    Par défaut
    Bonjour,

    Les problèmes de conversion viennent la plupart du temps à cause de la culture qui n'est pas la même.

    Il faut savoir que Convert.ToDouble, double.Parse, double.tryParse utilisent par défaut la culture courante.

    Donc regarde quelle est la culture de tes double, et la solution viendra toute seule ou presque

  5. #5
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Par défaut
    Bonjour, merci pour votre aide,
    @:Faereth
    J'ai un message erreur qui me remonte:
    System.Collections.Generic.List<string>' ne contient pas une définition pour 'Replace' et aucune méthode d'extension 'Replace' acceptant un premier argument de type 'System.Collections.Generic.List<string>'

    @:Olivier782
    je trace une courbe avec Zgraph étant débutant j'ai extrait des données d'un fichier CSV dans des listes de string que je doit convertir en double pour mes courbes.
    Je ne poste pas mon code tu risque d'avoir une crise cardiaque !!
    V1 n'est pas vide, elle est chargé comme ceci :"\"6.781\"""\"6.4\"""\"3.781\"" etc..

  6. #6
    Membre éclairé Avatar de Faereth
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2007
    Messages : 92
    Par défaut
    Citation Envoyé par lolo81 Voir le message
    Bonjour, merci pour votre aide,
    @:Faereth
    J'ai un message erreur qui me remonte:
    Le nom 'CultureInfo' n'existe pas dans le contexte actuel
    Il faut que tu es un appel vers :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    using System.Globalization;

  7. #7
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Par défaut
    Oui pardon je suis allé trop vite en besogne, regarde le message d'erreur que j'ai re-édité pendant que tu devais poster.

  8. #8
    Membre éclairé Avatar de Faereth
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Bâtiment

    Informations forums :
    Inscription : Janvier 2007
    Messages : 92
    Par défaut
    Euh attends, y1 c'est quoi? Un double?

    J'ai l'impression que tu essayes de convertir toute la liste en un double là?

    Il faut que tu boucles dans V1 pour en extraire les valeurs une à une non?

  9. #9
    Membre très actif
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    254
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 254
    Par défaut
    Effectivement, j'ai fais afficher une de mes valeurs dans un textBox et il y a bien les "" .
    une solution simple pour les virer?
    merci.

  10. #10
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 69
    Par défaut
    D'accord.

    System.Collections.Generic.List<string>' ne contient pas une définition pour 'Replace' et aucune méthode d'extension 'Replace' acceptant un premier argument de type 'System.Collections.Generic.List<string>'
    On dirait que tu ne peux pas faire directement une conversion d'une liste. Il faudrait donc que tu la parcours et que tu fasse la conversion en double de chaque élément les uns après les autres.

  11. #11
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2011
    Messages : 69
    Par défaut
    Je ne poste pas mon code tu risque d'avoir une crise cardiaque !!
    ^^

    Je pense qu'il y a un problème dans ta liste.
    Si V1 : "\"6.781\"""\"6.4\"""\"3.781\"", alors tu essayes de parser "6.781" (guillemets compris) en double. Si c'est ça il faut retirer les guillemets de chaque string de ta liste!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/08/2007, 14h52
  2. Convertir une chaine en double
    Par freddyboy dans le forum C
    Réponses: 4
    Dernier message: 17/07/2007, 09h34
  3. Réponses: 11
    Dernier message: 08/06/2007, 20h19
  4. convertir une chaine de caractere en byte []
    Par youp_db dans le forum Langage
    Réponses: 10
    Dernier message: 16/10/2006, 15h14
  5. [VB]Convertir une chaine de caractere en entier
    Par budylove dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 21/02/2006, 11h06

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo