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

Langage Delphi Discussion :

Pb de convertion de texte en nombre


Sujet :

Langage Delphi

  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut Pb de convertion de texte en nombre
    Bonjour a tous

    Je recois des fichiers au format texte de donnees que je dois traiter.
    Parmi ces donnees, il y a des reels formates en francais
    1 231.10 (classique).
    mais si je veux les transformer de texte en reel, je recois un message d'erreur lie a la presence de l'espace (en utilisant le formatsetting).

    Je peux bien sur remplacer cet espace avant de faire la conversion comme propose dans un autre post
    probleme-strtofloat

    mais pour tenir compte de l'arrivee de donnees en d'autres format numerique (type 1,321.10, etc)

    n'y aurait il pas un moyen plus general de faire ce genre de chose ?

    a+

    olivier
    Merci d'ajouter un sur les tags qui vous ont aidé

  2. #2
    Expert éminent
    Avatar de qi130
    Homme Profil pro
    Expert Processus IT
    Inscrit en
    Mars 2003
    Messages
    3 909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : Expert Processus IT
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 909
    Points : 6 032
    Points
    6 032
    Par défaut
    1 231.10
    n'est pas un format français puisque le séparateur décimal est un point...

    En quoi la suppression systématique de l'espace est-il gênant?
    De fait, le format anglo-saxon remplace cet espace par une virgule.
    "Il n'y a pas de bonnes réponses à une mauvaise question." (M. Godet)
    -----------------------
    Pensez à cloturer votre sujet - Aucune réponse aux sollicitations techniques par MP
    Usus magister est optimus

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    bonjour

    Citation:
    1 231.10
    n'est pas un format français puisque le séparateur décimal est un point...
    en effet, c'est avec la virgule. mais cela reflete bien la difficulte.


    on recoit des donnees numerique sous differents format (francais, US, ou perso...) dans un fichier texte; il n'y a donc pas d'info sur le format utilise

    d'ou mon interet d'essayer de trouver une methode generique pour modifier ce type d'information vers sa valeur numerique, en sachant que l'on ne connait pas le formatSetting

    donc comment trouver ce formatSetting d'une info en texte ? pour ensuite faire les remplacement ad-hoc
    Merci d'ajouter un sur les tags qui vous ont aidé

  4. #4
    Membre à l'essai
    Inscrit en
    Septembre 2010
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 12
    Points : 11
    Points
    11
    Par défaut
    pour moi, la réponse la plus simple consiste à développer une routine de traitement du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    suppression des espaces
    dans les caractères, chercher une virgule ou un point.
    si tu as une virgule alors, 
      chercher un point ou une autre virgule.
      si tu as une autre virgule alors,
        format américain.
      sinon, si tu as un point alors,
        format américain.
      sinon,
        format français.
      traitement en fonction du format
    fin
    tu peux compléter les tests avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    si il y a plus de 4 chiffres à la suite alors
      format français
    c'est certes un moyen laborieux, mais tu es sûr de ce que tu as en sortie et de pouvoir faire ton StrToInt

    bonne journée

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingenieur de recherche - Ecologue
    Inscrit en
    Juin 2003
    Messages
    1 146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingenieur de recherche - Ecologue

    Informations forums :
    Inscription : Juin 2003
    Messages : 1 146
    Points : 1 412
    Points
    1 412
    Par défaut
    c'est bien ce que je redoutais

    mais l'espoir , fais vivre

    merci

    olivier
    Merci d'ajouter un sur les tags qui vous ont aidé

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/06/2014, 15h29
  2. pb convertion texte en nombre
    Par noviceavb dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 04/02/2009, 23h24
  3. Excel:probleme pour transformer du texte en nombre par macro
    Par pcheval dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/11/2005, 22h18
  4. Réponses: 2
    Dernier message: 06/12/2004, 21h38
  5. Du texte à un nombre
    Par nd25 dans le forum Flash
    Réponses: 6
    Dernier message: 29/09/2003, 14h14

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