Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

ne pas afficher les 0 inutiles avec printf

13 réponses
Avatar
FLUX (a l'Ircam)
Bonjour !
Y a-t'il quelqu'un ici qui saurait comment ne pas afficher les zeros
inutiles avec printf?

Par exemple afficher :

.00048464657490608787

au lieu de :
0.000484646574906087870000000000000000000000000000000000000

Je ne sais pas a l'avance le nombre de chiffres significatifs, mais j'ai
besoin d'une tres grande precision ("%100f" par exemple...)

Flux

--
"Pour moi la programmation est plus qu'un art applique important. C'est
aussi une ambitieuse quete menee dans les trefonds de la connaissance"
Grace Hopper, inventeur du compilateur

10 réponses

1 2
Avatar
DINH Viêt Hoà

Je ne sais pas a l'avance le nombre de chiffres significatifs, mais j'ai
besoin d'une tres grande precision ("%100f" par exemple...)


"%g"

--
DINH V. Hoa,

etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan

Avatar
Pascal
FLUX (a l'Ircam) wrote:
Bonjour !
Y a-t'il quelqu'un ici qui saurait comment ne pas afficher les zeros
inutiles avec printf?



Apprend à lire un man, y a tout!
--
Pascal

Avatar
FLUX (a l'Ircam)
On Mon, 8 Dec 2003, DINH [iso-8859-15] Viêt Hoà wrote:


Je ne sais pas a l'avance le nombre de chiffres significatifs, mais j'a i
besoin d'une tres grande precision ("%100f" par exemple...)


"%g"


Malheureusement, j'ai deja essaye %g et le probleme est le suivant :
%g donne :

5.04654646574654e-6

au lieu de .00000504654646574654

Et j'ai ce pb pour tous les nombres compris entre 0 et 1...

Flux

--
"Pour moi la programmation est plus qu'un art applique important. C'est
aussi une ambitieuse quete menee dans les trefonds de la connaissance"
Grace Hopper, inventeur du compilateur


Avatar
DINH Viêt Hoà

Malheureusement, j'ai deja essaye %g et le probleme est le suivant :
%g donne :

5.04654646574654e-6

au lieu de .00000504654646574654

Et j'ai ce pb pour tous les nombres compris entre 0 et 1...


il reste la solution d'écrire la représentation dans une chaîne de
caractères et enlever les zéros finaux, en faisant attention qu'il en
reste au moins un après le séparateur décimal.

--
DINH V. Hoa,

etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan

Avatar
FLUX (a l'Ircam)
FLUX (a l'Ircam) wrote:
Bonjour !
Y a-t'il quelqu'un ici qui saurait comment ne pas afficher les zeros
inutiles avec printf?



Apprend à lire un man, y a tout!


J'ai lu le man de printf, et de scanf, ainsi qu'un nombre incalculable de
site dedie au format de printf (et je peux te dire que certains sont bien
plus complet que le man), mais je n'ai rien trouve.

Si toi aussi tu pense a %g, lis donc mon post precedent.
Si je pose la question sur ce NG, c'est parce qu'elle n'est pas triviale,
et que la reponse n'est pas dans le man.

Je sais lire les man, j'ai passe une apres-midi a tester toutes les
combinaisons de mofifier possibles, et si je poste sur ce NG, c'est parce
que je suis a cours d'idees...

Flux


--
"Pour moi la programmation est plus qu'un art applique important. C'est
aussi une ambitieuse quete menee dans les trefonds de la connaissance"
Grace Hopper, inventeur du compilateur


Avatar
FLUX (a l'Ircam)
Malheureusement, j'ai deja essaye %g et le probleme est le suivant :
%g donne :

5.04654646574654e-6

au lieu de .00000504654646574654

Et j'ai ce pb pour tous les nombres compris entre 0 et 1...


il reste la solution d'écrire la représentation dans une chaîne de
caractères et enlever les zéros finaux, en faisant attention qu'il en
reste au moins un après le séparateur décimal.


A vrai dire, c'est ce que j'ai fait en attendant, mais j'esperait qu'il
existe une solution avec printf. Apparement ca n'est pas le cas,
dommage...
Merci quand meme pour ton aide :-)

Flux

--
"Pour moi la programmation est plus qu'un art applique important. C'est
aussi une ambitieuse quete menee dans les trefonds de la connaissance"
Grace Hopper, inventeur du compilateur


Avatar
Pascal
FLUX (a l'Ircam) wrote:
J'ai lu le man de printf, et de scanf, ainsi qu'un nombre incalculable de
site dedie au format de printf (et je peux te dire que certains sont bien
plus complet que le man), mais je n'ai rien trouve.

Si toi aussi tu pense a %g, lis donc mon post precedent.
Si je pose la question sur ce NG, c'est parce qu'elle n'est pas triviale,
et que la reponse n'est pas dans le man.

Je sais lire les man, j'ai passe une apres-midi a tester toutes les
combinaisons de mofifier possibles, et si je poste sur ce NG, c'est parce
que je suis a cours d'idees...

Flux




Ba sur ton premier exemple, le %g marche. Mais sur le deuxieme
effectivemnet ca met le chiffre sous forme scientifique. Donc mea culpa.
--
Pascal

Avatar
Emmanuel Delahaye
In 'fr.comp.lang.c', Pascal wrote:

FLUX (a l'Ircam) wrote:
Bonjour !
Y a-t'il quelqu'un ici qui saurait comment ne pas afficher les zeros
inutiles avec printf?



Apprend à lire un man, y a tout!


Y'a pas de 'man' en C.

--
-ed- [remove YOURBRA before answering me]
The C-language FAQ: http://www.eskimo.com/~scs/C-faq/top.html
C-reference: http://www.dinkumware.com/manuals/reader.aspx?lib=cpp
FAQ de f.c.l.c : http://www.isty-info.uvsq.fr/~rumeau/fclc/


Avatar
DINH Viêt Hoà

Donc mea culpa.


tes réponses qui ont un ton agressif, pas les siennes.

--
DINH V. Hoa,

etPan! - newsreader, mail user agent -- http://libetpan.sf.net/etpan

Avatar
Pascal
DINH Viêt Hoà wrote:

tes réponses qui ont un ton agressif, pas les siennes.

?


--
Pascal

1 2