Bonjour,
j'aurais aimé savoir s'il est possible en C d'afficher un double au format suivant : 1.666e-33. Avec %e, il donne systématiquement 3 digits a l'exposant au lieu de 2 : 1.666e-033
Merci,
Gael.
Bonjour,
j'aurais aimé savoir s'il est possible en C d'afficher un double au format suivant : 1.666e-33. Avec %e, il donne systématiquement 3 digits a l'exposant au lieu de 2 : 1.666e-033
Merci,
Gael.
%.3E ?
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.
%.3E donne trois decimales, mais c'est pas ca qui va forcer a 3 le nombre de digits de l'exposant.
Un extrait de la doc issue d'OpenGroup :
En gros, pour ton problème ça ressemblerait plus à : %3.eThe double argument shall be converted in the style "[-]d.ddde±dd", where there is one digit before the radix character (which is non-zero if the argument is non-zero) and the number of digits after it is equal to the precision;
Je voudrais qu'il affiche : 1.5e-33 et pas 1.5e-033. Je veux un exposant a 2 digits et pas a 3 digits.
%.2e et %2.e ne permettent pas de faire cela (je viens encore d'essayer).
Si tu mets un grand E à la place du petit e, de memoire, il y a une difference mais je ne sais plus laquel.
Désolé, je n'avais pas compris cela.
En fait, je crois que ça ne va pas être possible directement avec printf. En tout cas, pas à ma connaissance.
Désolé.
En fait le grand E, ne fait qu'afficher un grand E à la sortie (au lieu d'un petit).
J'ai rerelu encore certains documents relatifs à ce genre de "bidouille" et je crois bien, comme PRomu@ld, que ce n'est pas directement possible avec printf.Envoyé par PRomu@ld
Marco85
If you cannot explain a concept to a six year-old, then you do not fully understand it. [Albert Einstein]
C'est bizarre que sur ton ordinateur il affiche 3 chiffre après l'exposant. Par contre, si tu veux vraiment juste deux chiffre, pourquoi ne pas écrire ton nombre flottant dans une chaîne de caractères.
Parcourir la chaîne à l'envers et compter le nombre de chiffres de l'exposant, s'il y en a 3 et qu'il y a un 0 inutile, décaler les deux autres chiffres?
Et ensuite afficher le nombre?
Jc
Ca serait une astuce en effet, mais il faudrait gérer ça en fonction du nombre de digit affiché dans l'exposant. Sur ma machine, je n'ai que deux exposants lors de l'affichage.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager