Donc voilà,
quand j'essaie d'afficher un long double (genre >10 puissance 9)
il m'affiche: 1e+09
et je voudrais qu'il me l'affiche correctement, comment je fais?
Merci
Donc voilà,
quand j'essaie d'afficher un long double (genre >10 puissance 9)
il m'affiche: 1e+09
et je voudrais qu'il me l'affiche correctement, comment je fais?
Merci
Defini "correctement".
J'entends par correctement: de manière exacte pour tout i > 10 puissance 9
ex: 1000546841
Tu vas te confronter à des problèmes.
Tout d'abord des limitations de type, comme tous les réels, tout n'est pas représentable (problèmes liée aux représentations internes). Ensuite, tu ne peux pas afficher indéfiniment les décimales (si tu as un 10^10000, tu ne pourra pas tout afficher).
Sinon, tu peux voir du coté des options de cout du style setw pour des choses raisonnables.
http://www.fredosaurus.com/notes-cpp/io/omanipulators.html
Enfin, si tu veux quelque chose de plus grand, il faudra que tu changes de type et que tu utilises une bibliothèque en precision arbitraire (NTL, GMP, ...), qui de plus permettent d'afficher completement les nombres (sous forme de chaine de cractère)
Merci beaucoup, j'ai trouvé: setprecision de <iomanip>
Mon problème ne se pose pas vraiment je ne veux afficher que des entiers aux alentours de 10 puissance 9, cout<< avec setprecision s'en occupe très bien.
Merci encore
Partager