Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
672 connectés 

  FORUM HardWare.fr
  Programmation

  [C] Sortie formatée des entiers (%.3d par exemple)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] Sortie formatée des entiers (%.3d par exemple)

n°104169
_john_doe_
Posté le 24-02-2002 à 14:41:04  profilanswer
 

Supposons que j'ai une variable de type entier x=5
 
Comment obtenir "  5" au lieu de "005" ?
(En clair, pour remplacer les zéros par des espaces)
 
Ps : Je fais printf("%.3d", x);

 

[jfdsdjhfuetppo]--Message édité par _john_doe_--[/jfdsdjhfuetppo]

mood
Publicité
Posté le 24-02-2002 à 14:41:04  profilanswer
 

n°104170
Alload
Posté le 24-02-2002 à 14:44:57  profilanswer
 

Moi je ferais simplement: printf("%d", x);
 
Le .3 veut peut-être dire d'afficher 3 chiffres.

n°104174
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-02-2002 à 14:58:51  profilanswer
 

je dirais %-3.3d

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°104190
_john_doe_
Posté le 24-02-2002 à 15:48:38  profilanswer
 

Merci, je vais essayer ça :)
 
 :hello:

n°104202
_john_doe_
Posté le 24-02-2002 à 16:16:25  profilanswer
 

:-\
 
Ca marche pas, ça me fait exactement le même affichage...
 
HEEEEEEEEEEEEEEEEEEEEEEEEELP  :(

n°104221
antp
Super Administrateur
Champion des excuses bidons
Posté le 24-02-2002 à 17:26:08  profilanswer
 

même avec le - ?
et si tu mets juste %-3d ?
 

Citation :

% [flags] [width] [.prec] [F|N|h|l|L] type_char
width:
n = At least n characters are printed. If the output value has less than n characters, the output is padded with blanks (right-padded if - flag given, left-padded otherwise).
0n = At least n characters are printed. If the output value has less than n characters, it is filled on the left with zeros.

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°111734
Procat
L'eternel insatisfait !
Posté le 13-03-2002 à 19:38:59  profilanswer
 

Alload a écrit a écrit :

Moi je ferais simplement: printf("%d", x);
 
Le .3 veut peut-être dire d'afficher 3 chiffres.  




Pareil !!!


---------------
[:procat]
n°111778
bjone
Insert booze to continue
Posté le 13-03-2002 à 22:31:41  profilanswer
 

%3d devrait suffire le . est plus pour les flottants.

n°111802
antp
Super Administrateur
Champion des excuses bidons
Posté le 13-03-2002 à 23:38:53  profilanswer
 

bjone a écrit a écrit :

%3d devrait suffire le . est plus pour les flottants.  




 
la question de base était pour mettre des espaces plutot que des chiffres... %3 donnera 005 pour x = 5... d'où ma suggestion de mettre un - comme expliqué dans l'aide de Borland... mais je crois que l'auteur du topic l'a abandonné.
c'est procat qui a remonté un vieux topic.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°112472
Carbon_14
Posté le 15-03-2002 à 11:19:51  profilanswer
 

D'après mes habitudes (autodidactes), il faut mettre autant d'espaces avant le champ qu'on veut "  %d" fait qu'il y a toujours deux espaces avant les caractères.
Si on fait "%d%d", tout est collé, si c'est "%d    %d", y a 4 espaces entre champs numériques. On peut aussi "moduler" les % pour avoir ce qu'on veut. L'espace est pris comme un espace.
On peut aussi mettre "%d%s%d" avec, en regard de %s, une chaîne contenant le nombre d'espaces qu'on veut (ça évite de taper 25 espaces dans le champ : listings trop larges :D )....

mood
Publicité
Posté le 15-03-2002 à 11:19:51  profilanswer
 

n°112483
antp
Super Administrateur
Champion des excuses bidons
Posté le 15-03-2002 à 11:25:24  profilanswer
 

si t'as un nombre à 2 chiffres ton "  %d" va afficher 2 espaces au lieu d'un :/
je vois pas pourquoi mon truc du - vous convient pas, c'est comme ça en C standard et chez moi ça marche


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°112504
Suri
Darksurious
Posté le 15-03-2002 à 11:58:06  profilanswer
 

printf("%3d", num); ca marche ca... ca calle le nombre sur la droite...

Code :
  1. 1
  2.    2
  3. ...
  4.    9
  5.   10
  6. ...
  7. 100


 
si on avait %-3d ca callerai sur la droite et ca remplirai le reste par les espaces


---------------
Suri.morkitu.org : Balades au coeur de la ville...
n°112544
antp
Super Administrateur
Champion des excuses bidons
Posté le 15-03-2002 à 13:52:28  profilanswer
 

après test il semblerait que %3d fonctionne en effet (bizarre il me semblait qu'il mettait des 0 plutot que des espaces)
et le %-3d aligne a gauche, ce qui est très bizarre car ce n'est pas ce qui est décrit dans l'aide...
bon bhen je suis bien content de faire du Pascal plutôt que du C en temps normal :D

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°112554
El_gringo
Posté le 15-03-2002 à 14:21:03  profilanswer
 

antp a écrit a écrit :

après test il semblerait que %3d fonctionne en effet (bizarre il me semblait qu'il mettait des 0 plutot que des espaces)
et le %-3d aligne a gauche, ce qui est très bizarre car ce n'est pas ce qui est décrit dans l'aide...




 
Bah, dans la MSDN ils le disent !

 

[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]

n°112557
antp
Super Administrateur
Champion des excuses bidons
Posté le 15-03-2002 à 14:29:07  profilanswer
 

ha non je me suis trompé, %3d c'est bien des espaces
et j'ai mal lu: right padded, et non pas right-aligned.
rhaaa ...
et puis quelle idée d'aller rechercher ce vieux topic aussi :/

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°113046
_john_doe_
Posté le 17-03-2002 à 15:15:21  profilanswer
 

Merci@tous.
 
:jap:


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C] Sortie formatée des entiers (%.3d par exemple)

 

Sujets relatifs
Comment activer la sortie TV d une voodoo 3 en VB6 ?[Borland C++ 5] Gérer la sortie audio avec précision ? (librairies ?)
[VB6] Interprétation d'une chaîne comme fonction??? exemple: "sin(x)"[C] besoin d'aide pour trouver la structure du fichier exemple
[ada] comment on déclare de trés grands entiers ??[VB6] Capturer la sortie d'un programme DOS
[PHP] Initiation ! Je cherche des sites proposant exemple....[DirectSound] Lire un fichier son, un exemple SVP !
[HELP] [DOS] Tester qu'une partition existante est formatée[JAVA] Exemple d'applet proxy
Plus de sujets relatifs à : [C] Sortie formatée des entiers (%.3d par exemple)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR