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

Delphi Discussion :

Convertir Float en hh:mm


Sujet :

Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2
    Par défaut Convertir Float en hh:mm
    Bonjour,
    (Delphi 7)

    Mon problème c'est que je voudrai convertir un Float en heures et minutes.
    ex: "2,75" sachant que 2 et le nombre d'heures et 75 le nombre de minutes en centièmes pour pouvoir afficher 02:45.

    D'avance merci à tous.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 190
    Par défaut
    bonjour

    je n'en suis pas sur mais je pense que le format TTime correspond a

    1/24/60/60

    a toi de faire la conversion

  3. #3
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    Function Encode(t:single):TDatetime;
    var  i,j:byte;
    begin
         i:=trunc(t);
         j:=(trunc((t-i)*100));
         result:=EncodeTime(i,j,0,0);
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
         showmessage(TimeToStr(Encode(2.20)));
    end;
    edit: j'ai pas vu que tu veux 2.75 =>2:45

  4. #4
    rsc
    rsc est déconnecté
    Membre émérite
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var
      x : Single;
    begin
    ....
      x := 2.75;
      FormatDateTime ('hh:nn', TDateTime (x * 24));

  5. #5
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Function Encode(t:single):TDatetime;
    var  i,j:byte;
    begin
         i:=trunc(t);
         j:=(trunc((t-i)*100));
         j:=(j*60) div 100;
         result:=EncodeTime(i,j,0,0);
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    begin
         showmessage(TimeToStr(Encode(2.50)));
    end;

  6. #6
    Membre éprouvé
    Avatar de TicTacToe
    Inscrit en
    Septembre 2005
    Messages
    1 940
    Détails du profil
    Informations personnelles :
    Âge : 52

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 940
    Par défaut
    J'étais parti comme toi Edam,
    Mais la méthode de rsc est très sympa et beaucoup plus générique.

    Sauf qu'il y a une erreur:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    var
      x : Single;
    begin
    ....
      x := 2.75;
      FormatDateTime ('hh:nn', TDateTime (x / 24));
    Section Delphi
    La mine d'or: La FAQ, les Sources

    Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
    Notre revanche ? l'inverse est aussi vrai ;-)

  7. #7
    Membre Expert Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Par défaut

    TicTacToe

  8. #8
    rsc
    rsc est déconnecté
    Membre émérite
    Avatar de rsc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2004
    Messages
    711
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2004
    Messages : 711
    Par défaut
    Merci TicTactoe pour le compliment et la correction !

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2
    Par défaut
    Merci à tous pour ces réponses

    mon prob est ainsi résolu

    Encore merci

  10. #10
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 316
    Par défaut
    bonjour, j'ai tenté de convertir un hh:mm en float avec votre fonction, mais je n'y arrive pas une idée pour faire le contraire ??

  11. #11
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    316
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 316
    Par défaut
    decodetime est mon ami!

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 11/08/2014, 13h40
  2. Convertir float en datetime
    Par naitregitan dans le forum Développement
    Réponses: 3
    Dernier message: 09/01/2012, 18h12
  3. convertir floats sur 4 bytes (IEEE754)
    Par morgan_2956 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 01/03/2010, 18h17
  4. Réponses: 27
    Dernier message: 14/01/2006, 00h46
  5. Convertir un varchar en float
    Par Tapioca dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 26/07/2004, 13h17

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