Convertir un double en int?

Signaler
Messages postés
29
Date d'inscription
lundi 9 février 2004
Statut
Membre
Dernière intervention
17 juin 2008
-
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
-
Bonsoir, j'ai un ami qui a un probleme,
il a une erreur comme quoi il peut pas mettre un double dans un int
ma question est donc :
Comment peut on convertir un double en int ?
merci d'avance ;)
A voir également:

8 réponses

Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
simplement:

int entier = (int)ton_double



++
Messages postés
29
Date d'inscription
lundi 9 février 2004
Statut
Membre
Dernière intervention
17 juin 2008

il essayera ça demain,
en tout cas, il vous remercie ;)
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
heu...

luthor, ton truc marche (ben quand meme... ) mais ca me parait louche

un double, c'est qd meme un float a double précision

datesta, est-ce que dans ton double, ya qqch apres la virgule? pasque
en faisant (int), ca va tronquer tous les chiffres apres la virgule, et
si il est trop grand, ...heu... je sais pas ce qui peut se passer
mais... rien de bon a mon avis


_______________________


Omnia vincit labor improbus
Messages postés
2023
Date d'inscription
mardi 24 septembre 2002
Statut
Membre
Dernière intervention
28 juillet 2008
5
bas de toute facon, convertir implique une perte de donnée. Mais c'est
que c'est un peu brutale (int). Il faudrait simplement éviter la
conversion :)
Messages postés
115
Date d'inscription
mardi 1 février 2005
Statut
Membre
Dernière intervention
8 octobre 2007

Ou manipuler les stringstream



stringstream tmp;

int Entier;

float Reel;



tmp << Reel; // tmp contient le reel

tmp >> Entier; // entier contient la valeur entiere de ton float
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
ta stringstream est inutile, ca fait une allocation et et une assignation en rab, et ca n'apporte rien:

un double est codé sur 4 bytes, un double sur 8 (!)

on passe du double a l'int en virant les 32 bits les moins
significatifs, eux qui sont stockés dans le registre EBX, et tu gardes
que AEX de EAX:ABX

_______________________


Omnia vincit labor improbus
Messages postés
29
Date d'inscription
lundi 9 février 2004
Statut
Membre
Dernière intervention
17 juin 2008

lol, a cause de moi vous vous etes engueleés
dsl,
je sais pas s'il a réussi, mais je vous remerci qd meme ;)

,
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
eugueulés? on s'est pas engueulés....

en me relisant je vois que je me suis emelé les pindeaux entrte les touches, c'est soit eax soit ebx

_______________________


Omnia vincit labor improbus