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 :

Arrondir un nombre decimal à 2 chiffres après la virgule


Sujet :

Delphi

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 229
    Par défaut Arrondir un nombre decimal à 2 chiffres après la virgule
    Bonsoir, je voudrais arondir des nombres decimaux à 2 chiffres àprès la virgule.
    Et je voudrais savoir quelle fonction delphi7 me permettrais de faire cela.
    Par exemple: 12.25468 => 12.25 et 13.518599=> 13.52
    Merci pour votre disponibilité.

  2. #2
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut !

    Tu peux utiliser la fonction RoundTo de Delphi. (en n'oubliant pas d'inclure l'unité Math dans les uses).

    Ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowMessage(FloatToStr(RoundTo(12.256,-2)));
    Ceci affichera 12.26

    Pour plus d'info, F1 sur RoundTo

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 229
    Par défaut
    Merci ça marche....

  4. #4
    Rédacteur
    Avatar de Pedro
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    5 411
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 5 411
    Par défaut
    Salut
    Tu peux utiliser aussi les fonctions Format et FormatFloat Elles sont faites pour ça

    PS: n'oublie pas de cliquer sur
    Pedro
    Aucune réponse aux sollicitations techniques par MP

    Faut pas attendre d'en avoir besoin pour s'en servir... (Lucien Stéphane)

    Les pages Source C'est bon. Mangez-en!
    Le défi Delphi
    Règles du forum - FAQ Delphi - Pensez au chtit
    Aéroclub Bastia Saint-Exupéry

  5. #5
    Membre Expert
    Avatar de aityahia
    Homme Profil pro
    CIEPTAL CARS SPA
    Inscrit en
    Mars 2006
    Messages
    1 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Algérie

    Informations professionnelles :
    Activité : CIEPTAL CARS SPA
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 938
    Par défaut
    si vous voullez garder la précision de vos nombre il préferable d'utiliser FomatFloat ou format
    Vous avez les deux chiffre apres la virgule afficher mais vous garder la présision de variable pour d'éventuel calcul

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 229
    Par défaut
    Ok j'ai essayé Formatfloat mais le programme génère une erreur.
    Et je veux savoir comment cela s'utilise(syntaxe).
    merci!

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    488
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 488
    Par défaut


    C'est la première fois que j'utilise ce bandeau, mais là ça méritait.

  8. #8
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Sous D5 roundTo n'existe pas.

    J'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowMessage(FloatToStrF(12.256, ffFixed,10, 2)); // où 2 = nbre de chiffres après virgule et cela renvoie 12.26
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  9. #9
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 229
    Par défaut
    FormatFloat retourne un string alors que je veux obtenir une valeur de type float avec deux chiffres après la virgule que je vais affecter à une variable de type float.
    Je ne pense pas que formatfloat soit la solution...
    Si vous avez bien compris mon problème, veuillez m'aider svp...

  10. #10
    Membre Expert
    Avatar de Lung
    Profil pro
    Analyste-programmeur
    Inscrit en
    Mai 2002
    Messages
    2 698
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 698
    Par défaut
    Citation Envoyé par Klemsy78
    FormatFloat retourne un string alors que je veux obtenir une valeur de type float avec deux chiffres après la virgule que je vais affecter à une variable de type float.
    Je ne pense pas que formatfloat soit la solution...
    Donc, si tu veut un float comme résultat, utilise la solution d'ero-sennin.
    L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!

    C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
    OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)

  11. #11
    Modérateur

    Homme Profil pro
    Ingénieur retraité
    Inscrit en
    Octobre 2005
    Messages
    2 396
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur retraité

    Informations forums :
    Inscription : Octobre 2005
    Messages : 2 396
    Par défaut
    Variante :

    Si on veut par exemple ufloat =12.25468 => 12.25 et vfloat =13.518599 => 13.52

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ufloat :=round(ufloat*100)/100; => 12.25 
    vfloat :=round(vfloat*100)/100; => 13.52
    ... cela marche quelle que soit la version de Delphi.
    N'oubliez pas de consulter les FAQ Delphi et les cours et tutoriels Delphi

  12. #12
    Invité de passage
    Inscrit en
    Février 2011
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Février 2011
    Messages : 1
    Par défaut Merci
    Citation Envoyé par ero-sennin Voir le message
    Salut !

    Tu peux utiliser la fonction RoundTo de Delphi. (en n'oubliant pas d'inclure l'unité Math dans les uses).

    Ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ShowMessage(FloatToStr(RoundTo(12.256,-2)));
    Ceci affichera 12.26

    Pour plus d'info, F1 sur RoundTo

Discussions similaires

  1. [Python 2.X] Arrondir un float. Max deux chiffres après la virgule
    Par aurelie.guegan.15 dans le forum Général Python
    Réponses: 3
    Dernier message: 24/02/2015, 11h56
  2. nombre avec 8 chiffres apres la virgule
    Par snipes dans le forum C
    Réponses: 9
    Dernier message: 17/11/2008, 14h46
  3. Réponses: 2
    Dernier message: 15/10/2008, 17h24
  4. Représentation d'un nombre avec 'n' chiffres apres la virgule
    Par Contractofoued dans le forum MATLAB
    Réponses: 5
    Dernier message: 29/11/2007, 13h35
  5. calcule de PI avec nombre préci de chiffres aprés la virgule!
    Par do_key_120 dans le forum Algorithmes et structures de données
    Réponses: 12
    Dernier message: 17/10/2007, 22h58

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