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

Bases de données Delphi Discussion :

probleme sur Separateur decimal


Sujet :

Bases de données Delphi

  1. #1
    Membre habitué
    Avatar de Oncle_Pete
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 175
    Points
    175
    Par défaut probleme sur Separateur decimal
    Bonjour le Forum

    Je dois effectuer des Update dans un BD qui n'accepte que le '.' point decimal comme separateur.
    J'ai donc utilise la syntaxe

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Var 
       FormatSettings : TFormatSettings;
       MonPrix:Real;
       sReqMAJ:string;
    begin
        FormatSettings.DecimalSeparator := '.';
        MonPrix:=FieldByName('GA_PMRP').AsFloat;
        sReqMAJ:='UPDATE activite SET act_pupr = '+floattostr(MonPrix,FormatSettings)+' , ' .....
    Lorsque je trace le contenu de ma variable sReqMAJ dans un fichier txt, j'ai la ligne :
    49 Enregs ont été modifiés sur le SQL
    UPDATE activite SET act_pupr = 228 67 , .....

    Pourquoi ai-je 228 67 au lieu de 228.67 ?
    Que me manque-t-il ?
    merci a vous ?

    Oncle_pete
    Experience is the best teacher !!

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut

    Tu dois initaliser la structure FormatSettings par un appel à GetLocaleFormatSettings.

    Citation Envoyé par Aide de Delphi
    GetLocaleFormatSettings remplit FormatSettings en fonction de l'identificateur de localisation Windows spécifiédans LCID.Une structure de données TFormatSettings doit être initialisée par un appel àGetLocaleFormatSettings afin qu'elle puisse être utilisée avec les routines de formatage de chaîne.
    Donc je te propose:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Var 
       FormatSettings : TFormatSettings;
       MonPrix:Real;
       sReqMAJ:string;
    begin
        GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, FormatSettings);
        FormatSettings.DecimalSeparator := '.';
        MonPrix:=FieldByName('GA_PMRP').AsFloat;
        sReqMAJ:='UPDATE activite SET act_pupr = '+floattostr(MonPrix,FormatSettings)+' , ' .....
    end;
    @+ Claudius

  3. #3
    Membre habitué
    Avatar de Oncle_Pete
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    246
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 246
    Points : 175
    Points
    175
    Par défaut
    Merci Claudius40

    Oncle_Pete
    Experience is the best teacher !!

  4. #4
    iam
    iam est déconnecté
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    197
    Détails du profil
    Informations personnelles :
    Localisation : Algérie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 197
    Points : 72
    Points
    72
    Par défaut
    salut
    est ce que je peux savoir ou vous avez mis ce code, dans quelle partie de ton programme, car je veux utiliser le decimalseparator par defaut dans mon programme
    merci

  5. #5
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut,

    Je tu veux juste savoir quel est le séparateur décimal utilisé par ton programme, tu peux le récupérer ainsi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      MonSeparateur := DecimalSeparator;  // La variable étant de type Char
    @+ Claudius

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

Discussions similaires

  1. probleme avec separateur decimal
    Par wdev2 dans le forum VB.NET
    Réponses: 3
    Dernier message: 19/02/2012, 20h35
  2. Réponses: 3
    Dernier message: 07/04/2003, 20h06
  3. Probleme sur le Fields des fichiers Xmlgram
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 4
    Dernier message: 20/03/2003, 17h09
  4. Probleme sur un AppendChild
    Par Toxine77 dans le forum XMLRAD
    Réponses: 3
    Dernier message: 14/03/2003, 18h25
  5. Probleme sur les chaines de caractere
    Par scorpiwolf dans le forum C
    Réponses: 8
    Dernier message: 06/05/2002, 19h01

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