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 :

récupérer un nombre à virgule dans un fichier Excel


Sujet :

C++

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 73
    Points : 29
    Points
    29
    Par défaut récupérer un nombre à virgule dans un fichier Excel
    bonjour j'ai fait un programme qui lis et écrit dans un fichier excel. Quand la cellule que je veux lire contient un entier, ça ne pose pas de problème, par contre si c'est un nombre à virgule, par exemple 182,5, je ne récupère pas le virgule 5, mais seulement 182.

    J'ai essayé de récupérer la valeur lue dans une cellule dans un String et dans un float, mais ça donne la même chose.

    Comment puis-je faire ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Points : 1 053
    Points
    1 053
    Par défaut
    Tssss, mais pourquoi on voit sans arret arriver des gens qui nous demandent comment faire sans même citer la techno utilisée. Si tu avais été sur un forum style MFC ou Borland on aurait compris vu le contexte, mais ici c'est le forum généraliste C++.
    Alors qu'est-ce que c'est pour qu'on puisse te répondre? Du VCL avec controle OLE?

  3. #3
    Membre expérimenté
    Avatar de coyotte507
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    1 327
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 327
    Points : 1 452
    Points
    1 452
    Par défaut
    on suppose que le fichier excel est du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    123,3 234,5 312,1 12,1 ...
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    123,3; 234,5; 312,1; 12,1; ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    #include <fstream>
    #include <string>
    #include <iostream>
    #include <sstram>
     
    using namespace std;
     
    ....
    ....
     
    string chaine;
    ifstream input("nomdufichier.txt");
    istringstream chaineinput;
    float nombre;
    int posVirgule;
     
    input >> chaine;
    /* on remplace la virgule dans chaine par un point */
    posVirgule = chaine.find(',');
    if (posVirgule != string::npos)
    {
      chaine.replace(posVirgule, 1, ".");
    }
     
    /* et on continue */
    chaineinput = chaine;
    chaineinput >> nombre;
     
    /* on vérifie quand même que ca n'a pas raté */
    if (!chaineinput.fail())
    {
      /* ca a marché */
    } else
    {
      /* ca a raté */
      chaineinput.clear();
    }

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    80
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations forums :
    Inscription : Mars 2006
    Messages : 80
    Points : 77
    Points
    77
    Par défaut
    Citation Envoyé par Piccolo_son
    bonjour j'ai fait un programme qui lis et écrit dans un fichier excel. Quand la cellule que je veux lire contient un entier, ça ne pose pas de problème, par contre si c'est un nombre à virgule, par exemple 182,5, je ne récupère pas le virgule 5, mais seulement 182.

    J'ai essayé de récupérer la valeur lue dans une cellule dans un String et dans un float, mais ça donne la même chose.

    Comment puis-je faire ?
    Salut, poste le code que tu utilise pour lire ton fichier Excel et récupére tes nombre.
    Peut etre que c'est de là où vient ton probléme.

Discussions similaires

  1. récupérer les données stockées dans un fichier excel
    Par ouzayd dans le forum Automation
    Réponses: 20
    Dernier message: 21/05/2015, 10h54
  2. Réponses: 7
    Dernier message: 10/09/2009, 10h37
  3. nombre de ligne renseigné dans un fichier Excel
    Par nicekiller dans le forum C#
    Réponses: 3
    Dernier message: 25/09/2008, 14h21
  4. Importer un fichier csv (séparateur virgule) dans un classeur excel 2003
    Par Valérie32 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/06/2008, 21h44
  5. Ecriture de nombres à virgule dans un fichier
    Par Berliozz dans le forum VBScript
    Réponses: 2
    Dernier message: 02/09/2006, 15h36

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