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

C++ Discussion :

conversion double en int


Sujet :

C++

  1. #1
    Membre confirm�
    Inscrit en
    Avril 2010
    Messages
    58
    D�tails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Par d�faut conversion double en int
    Bonjour � tous,



    Il y a un probl�me quand je fait la convertion d'un double en un int

    par exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    double a=12;
    int aa=(int) a;       // je trouve aa=11
     
    double b=1;
    int bb=(int) b;       // je trouve bb=0


    Merci pour votre aide

  2. #2
    Membre extr�mement actif

    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    2 408
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 408
    Par d�faut
    il faut savoir qu'un flottant n'a pas une repr�sentation exacte en m�moire, ce qui fait que par exemple 1.0 peut valoir en m�moire 0.999999999999 ou 1.00000000000001 selon la pr�cision (d'o� l'existence dans la biblioth�que standard de constant tel que FLT_EPS ou DBL_EPS ainsi que d'autre que j'ai plus en m�moire), d'o� la cause de ton probl�me.

    si tu veux que 0.9999999999 devienne 1.0, il ne faut pas caster mais arrondir.

  3. #3
    Membre confirm�
    Inscrit en
    Avril 2010
    Messages
    58
    D�tails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Par d�faut
    Merci,

    Oui tu as raison je doit faire arrondissement. J'ai effectu� une petite recherche sur la fonction round en c++ mais j'ai pas trouv�.

    Par contre il y a ce qui utilise floor(value + 0.5); est ce que cette fonction peut remplacer le r�le de round(value) dans tout les cas?

  4. #4
    Membre extr�mement actif

    Profil pro
    Inscrit en
    F�vrier 2006
    Messages
    2 408
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : F�vrier 2006
    Messages : 2 408
    Par d�faut
    l� pour le coup, je ne sais pas, d�sol�.

  5. #5
    Membre confirm�
    Inscrit en
    Avril 2010
    Messages
    58
    D�tails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 58
    Par d�faut
    Merci pour ton aide,

    Pour le moment ca marche

  6. #6
    Membre Expert
    Avatar de Joel F
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Septembre 2002
    Messages
    918
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 45
    Localisation : France, Essonne (�le de France)

    Informations professionnelles :
    Activit� : Chercheur en informatique
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2002
    Messages : 918
    Par d�faut
    sauf que 1.0 *a* une representatione xacte vu qu'il s'agit de 2^0

    1.f === 0x3F800000

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

Discussions similaires

  1. [Conversion de type] Int -> Double
    Par Compufan dans le forum D�buter
    R�ponses: 2
    Dernier message: 21/07/2013, 16h13
  2. conversion double/int sans perte d'informations
    Par leelooboss dans le forum Langage
    R�ponses: 5
    Dernier message: 16/11/2010, 15h11
  3. R�ponses: 8
    Dernier message: 30/09/2009, 09h21
  4. Conversion double -> int, probl�me �trange
    Par mickael9 dans le forum C++
    R�ponses: 10
    Dernier message: 20/10/2008, 03h48
  5. [FLASH MX 2004] conversion string en int.
    Par calfater dans le forum Flash
    R�ponses: 3
    Dernier message: 26/05/2004, 15h00

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