Signification des gabary en C ou PHP :printf("%10.2f", $var)

Résolu/Fermé
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 - 18 avril 2013 à 12:52
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 - 19 avril 2013 à 11:51
Bonjour,je suis nouveau en programmation C et PHP et je vois les nombre accompagnant le format d'affichage et j'arrive toujours pas à comprendre comment cela s'affiche. j'ai lu quelque articles, mais ça me parait pas clair. je connais juste que le nombre après le point correspondant au nombre de digit dans la partie décimal, mais pour la partie entière, ça change tout le temps.
Quelqu'un pourrait-il m'aider.
printf("%10.2f", $var) 
printf("%09.3f",169);
printf("%015.3f", $var)
 

Merci d'avance pour vos réponses.
A voir également:

4 réponses

[Dal] Messages postés 6204 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 27 février 2025 1 104
18 avril 2013 à 19:18
Parce que : http://www.cplusplus.com/reference/cstdio/printf/

width	(number)
Minimum number of characters to be printed. If the value to be printed is shorter than this number, the result is padded with blank spaces. The value is not truncated even if the result is larger.


Ton affichage fait bien 12 caractères en tout, y compris les 2 espaces ajoutés avant.


Dal
1
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 23
18 avril 2013 à 13:06
il donne juste des exemple mais n'explique pas trop comment on le fait, par example
Avec printf("%10f", x)
* si x=1.2345  = ^^1.234500
* si x=12.345  = ^12.345000
* si x=12.345e5  = 1234500.000000

ce 10 represente le nombre de caractere total? si oui, l'affichage du premier n'est donc pas 10.
6 chiffre après la virgule par défaut, là je vois, pas avant le point, ça ne devrai pas être 10
Je vraiment besoin de comprendre ces gabary d'affichage, merci pour ttoute aide
0
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 23
18 avril 2013 à 13:11
printf("%12.4e",x); 
si x= 1.2345 alors il est affiché : ^^1.2345e+00 
si x= 123.456789e8 alors il est affiché : ^^1.2346e+10

pourkoi pas 12 chiffres avant le points
0
ajp55 Messages postés 426 Date d'inscription dimanche 31 juillet 2011 Statut Membre Dernière intervention 17 février 2015 23
19 avril 2013 à 11:51
okay, je comprend, le chiffre de droite, correspondant au ombre de total de digit, y compris la parti décimal. le point de la partie décimal, le "e" de l'exponentiel sont aussi compté, et ça qui fait 12.
thk Dal
0