Spécificateurs de précision printf

De Appmethod Topics
Aller à : navigation, rechercher

Remonter à printf, wprintf


Les spécificateurs de précision printf définissent le nombre maximal de caractères (ou le nombre minimal de chiffres entiers) à imprimer.

Une spécification de précision printf commence toujours par un point (.) pour le séparer de tout spécificateur width précédent.

D'ailleurs, comme width, la précision est spécifiée de deux manières :

  • Directement, par le biais d'une chaîne de chiffres décimaux.
  • Indirectement, par le biais d'un astérisque (*).

Si vous utilisez un * pour le spécificateur de précision, le prochain argument dans l'appel (traité comme un int) spécifie la précision.

Si vous utilisez des astérisques pour la largeur et la précision, ou pour les deux, l'argument de largeur doit suivre immédiatement les spécificateurs, suivi de l'argument de précision, puis de l'argument pour les données à convertir.

[.prec] Comment la précision de la sortie est affectée

(aucune)

Précision définie par défaut :

= 1 pour les types d,i,o,u,x,X

= 6 pour les types e,E,f

= Tous les chiffres significatifs pour les types g,G

= Imprimer sur le premier caractère null pour les types s

= Pas d'effet sur les types c

.0

Pour les types d,i,o,u,x, précision définie par défaut

Pour les types e,E,f, aucune virgule décimale n'est imprimée.

.n

n caractères ou n positions décimales sont imprimés.

Si la valeur de sortie a plus de n caractères, il est possible que la sortie soit tronquée ou arrondie. Cela dépend du caractère de type.

.

La liste d'arguments fournit le spécificateur de précision qui doit précéder l'argument réel formaté.


Aucun caractère numérique ne sera généré pour un champ (c'est-à-dire que le champ sera vide) si les conditions suivantes sont toutes satisfaites :

  • Vous spécifiez une précision explicite de 0.
  • Le spécificateur de format pour le champ est l'un des formats entiers (d, i, o, u ou x).
  • La valeur à imprimer est 0.


Comment [.prec] affecte la conversion

Type caractère Effet de [.prec] (.n) sur la conversion

d

i

u

x

X

Spécifie qu'au moins n chiffres sont imprimés.

Si l'argument d'entrée a moins de n chiffres, la valeur de sortie est complétée sur la gauche par des zéros.

Si l'argument d'entrée a plus de n chiffres, la valeur de sortie n'est pas tronquée.

e

E

f

Spécifie que n caractères sont imprimés après la virgule décimale, et que le dernier chiffre imprimé est arrondi.

g

G

Spécifie qu'au plus n chiffres significatifs sont imprimés.

c

s

N'a pas d'effet sur la sortie.

Spécifie que pas plus de n caractères sont imprimés.


Voir aussi