Bonjour,
je veux convertir un double en int
je fais un truc bidon de style (int) m_dMonDouble
mais quand j'ai un grand nombre comme 2543445684
ça retourne un nombre negatif
comment je peux resoudre ce probleme svp
Bonjour,
je veux convertir un double en int
je fais un truc bidon de style (int) m_dMonDouble
mais quand j'ai un grand nombre comme 2543445684
ça retourne un nombre negatif
comment je peux resoudre ce probleme svp
Les opérateurs de cast C++ : http://c.developpez.com/faq/cpp/?pag...s#DIVERS_casts
La taille d'un entier est sauf erreur de 4 octets en 32 bits. Ce qui signifie qu'un entier signé va de -2 147 483 648 à 2 147 483 647.
Toi tu le dépasses, c'est de la que viennent tes nombres négatifs. Essaie unsigned int (si tu n'emploies pas les nombres négatifs), ou long, etc.
j'ai deja pensé à çaEnvoyé par Fiquet
J'utilise les nombres negatifs donc je ne peux pas utiliser unsigned
pour long ça donne toujours la meme chose que int
Oui en fait c'est normal je crois. Et si tu essaies long long ?
[edit] Voici un post sur le sujet des grands entiers : http://www.developpez.net/forums/vie...highlight=long
Quel résultat souhaites-tu si tu veux convertir un nombre supérieur à 2 147 483 648 en int ?
ça compile meme pasEnvoyé par Fiquet
![]()
Oui j'ai vu ça ne marche pas sur tous les compilos (pas standard). Essaie les types sur le lien que j'ai mis dans mon post d'avant.Envoyé par ensisoft
je veux convertir par exemple 2543445684.0000 en 2543445684Envoyé par Luther13
Partager