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

MFC Discussion :

arrondi de double en c ou c++


Sujet :

MFC

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Par d�faut arrondi de double en c ou c++
    bjrs

    est-ce qq'un peut me dire si il connait une fonction en c ou c++ ou dans la MFC pour arrondir des doubles � 2 chiffres apr�s la virgule ?

    Voir du code ou une procedure ?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    29
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 29
    Par d�faut
    Avec du code, je pense qu'on peut faire �a comme �a :

    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
     
    double l_mydouble = 20,2467;
     
    double l_dblTemp = l_mydouble  * 100;
    int      l_iTemp    = (int) (l_dblTemp);
     
    // Arrondi Superieur
    if ((l_dblTemp - l_iTemp) > 0.5)
    {
        l_mydouble = (l_iTemp + 1)/100;
    }
    // Arrondi Inferieur
    else
    {
        l_mydouble = (l_iTemp)/100;
    }
    Ca devrait bien marcher, je pense...

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    72
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 72
    Par d�faut
    j'ai fait une recherche rapide sur google (he oui).
    y'a un PDF qui semble sympa � ce sujet.
    Sinon en 2 coups d'oeil ce qui semble utilis� c'est ceil() et floor()
    renseigne-toi

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    143
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 143
    Par d�faut
    Merci les gars , mais j'ai trouv� une solution

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    code
     
      double n;
      double x = 0.8236547
      double y = modf(x*100,&n);
     
      n = n/100 ;
     
      => n est représenté avec 2 chiffre après la virgule

  5. #5
    Nouveau candidat au Club
    Homme Profil pro
    �tudiant
    Inscrit en
    Juin 2015
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 32
    Localisation : France, Var (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : �tudiant

    Informations forums :
    Inscription : Juin 2015
    Messages : 2
    Par d�faut
    #include <iostream>
    #include <string.h>
    //*************** arrondi superieur ou inferiieur **********
    using namespace std ;

    int main()
    {
    double l_mydouble = 0;
    char chaine[20];

    cout << " entrez un chiffre a vigule : "<<endl;
    cin >> l_mydouble;
    cout <<" vous les vous l'arrondi superieur ou inferieur ? " ;
    cin >> chaine;
    double l_dblTemp = l_mydouble * 10;
    int l_iTemp = (int) (l_dblTemp);
    if (strcmp(chaine , "superieur")==0)
    {
    cout << "Arrondi Superieur"<<endl;
    l_mydouble = (l_iTemp + 10)/10;
    cout<< l_mydouble<<endl;
    }

    else
    {

    cout << "Arrondi Inferieur"<<endl;
    l_mydouble = (l_iTemp)/10;
    }
    cout << l_mydouble << endl;
    return 0;
    }

  6. #6
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Tu es cens� coder en C++, pas en "C sur un compilo C++": Pourquoi utilises-tu un tableau de char (et strcmp) plut�t qu'une std::string?
    Aussi, es-tu s�r de cette ligne?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    l_mydouble = (l_iTemp + 10)/10;
    Normalement, quand on arrondit au sup�rieur, on n'ajoute pas le diviseur, mais la valeur juste en-dessous (e.g. pour des entiers, on �crirait +9).

    Ou plus simplement, pour des nombres � virgule flottante on utiliserait ceil().
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. CString.Format : arrondi de double
    Par melleb dans le forum MFC
    R�ponses: 5
    Dernier message: 26/01/2009, 17h55
  2. float, double et arrondi
    Par simla dans le forum Langage
    R�ponses: 2
    Dernier message: 25/08/2007, 15h22
  3. Double arrondi sur un dataset
    Par isachat666 dans le forum Bases de donn�es
    R�ponses: 7
    Dernier message: 02/06/2006, 13h07
  4. [C++] faire un arrondi sur un double
    Par pavlacki dans le forum C++
    R�ponses: 6
    Dernier message: 13/11/2005, 16h50
  5. arrondi avec type double
    Par la drogue c'est mal dans le forum MFC
    R�ponses: 6
    Dernier message: 08/04/2005, 17h51

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