dwww Home | Manual pages | Find package

strfmon(3)                 Library Functions Manual                 strfmon(3)

NOM
       strfmon, strfmon_l - Convertir des valeurs monétaires en chaînes de ca-
       ractères

BIBLIOTHÈQUE
       Bibliothèque C standard (libc, -lc)

SYNOPSIS
       #include <monetary.h>

       ssize_t strfmon(char s[restrict .max], size_t max,
                       const char *restrict format, ...);
       ssize_t strfmon_l(char s[restrict .max], size_t max, locale_t locale,
                       const char *restrict format, ...);

DESCRIPTION
       La fonction strfmon() met en forme les valeurs monétaires transmises en
       fonction  de  la  locale courante et des spécifications de la chaîne de
       format et place le résultat dans la chaîne de  caractère  s  de  taille
       max.

       La  fonction  strfmon_l() réalise la même fonction mais se base sur les
       paramètres régionaux indiqués par  locale.  Le  comportement  de  strf-
       mon_l()  est  non  défini si locale est l’objet de paramètres régionaux
       LC_GLOBAL_LOCALE (consultez duplocale(3)) ou n’est pas  un  identifiant
       d’objet de paramètres régionaux valable.

       Ordinary  characters  in  format  are  copied  to s without conversion.
       Conversion specifiers are introduced by a  '%'  character.  Immediately
       following it there can be zero or more of the following flags:

       =f     Le caractère unique f sert comme caractère numérique de remplis-
              sage (à utiliser avec une précision à gauche,  voir  plus  bas).
              Sans indication, il s'agit du caractère espace.

       ^      Ne pas utiliser les caractères de regroupement (par milliers par
              exemple) qui peuvent être définis pour la localisation en cours.
              Par défaut, le groupement est actif.

       ( or + L'attribut  « ( » indique que les valeurs négatives doivent être
              encadrées entre parenthèses. L'attribut  « + »  indique  que  le
              signe  doit  être  traité de la manière par défaut, c'est-à-dire
              les valeurs précédées  de  l'indication  locale  de  signe.  Par
              exemple, rien pour les valeurs positives et « - » pour les néga-
              tives.

       !      Omettre le symbole monétaire.

       -      Justifier tous les champs à gauche. Par défaut, la justification
              est à droite.

       Ensuite,  peut venir un champ de largeur : un chiffre décimal indiquant
       la largeur minimale en octets. Par défaut, elle  vaut  0.  Un  résultat
       plus  petit que cette largeur est complété avec des espaces (à gauche à
       moins que la justification soit à gauche).

       Ensuite, il peut y avoir une précision à gauche de la forme « # »  sui-
       vie  par  une  chaîne  de chiffres décimaux. Si le nombre de chiffres à
       gauche de la virgule est inférieur à cette  valeur,  la  représentation
       est complétée à gauche avec le caractère de remplissage. Les caractères
       de groupement ne sont pas comptés dans la largeur du champ.

       Ensuite, il peut y avoir une précision à droite de la forme « . »  sui-
       vie  par  une  chaîne de chiffres décimaux. La valeur est arrondie à ce
       nombre de décimales avant d'être mise en forme. La  valeur  par  défaut
       est précisée dans les champs frac_digits et int_frac_digits de la loca-
       lisation en cours. Si la précision à droite est 0, aucun symbole  déci-
       mal n'est affiché (le symbole décimal est déterminé par LC_MONETARY, et
       peut différer de celui indiqué dans LC_NUMERIC).

       Finalement, la spécification de conversion doit se terminer par un  ca-
       ractère de conversion. Les trois caractères disponibles sont :

       %      (In  this  case, the entire specification must be exactly "%%".)
              Put a '%' character in the result string.

       i      Un argument de type double est converti en utilisant les formats
              internationaux des monnaies dans la localisation en cours.

       n      Un argument de type double est converti en utilisant les formats
              nationaux des monnaies dans la localisation en cours.

VALEUR RENVOYÉE
       La fonction strfmon() renvoie le nombre de caractères  placés  dans  la
       chaîne  s,  sans  compter le caractère NULL final, à condition que tout
       tienne dans le tampon fourni. Sinon, il remplit errno  avec  la  valeur
       E2BIG et renvoie -1. Le contenu de la chaîne est indéfini dans ce cas.

ATTRIBUTS
       Pour  une explication des termes utilisés dans cette section, consulter
       attributes(7).

       ┌──────────────────────────────┬──────────────────────┬────────────────┐
       │InterfaceAttributValeur         │
       ├──────────────────────────────┼──────────────────────┼────────────────┤
       │strfmon()                     │ Sécurité des threads │ MT-Safe locale │
       ├──────────────────────────────┼──────────────────────┼────────────────┤
       │strfmon_l()                   │ Sécurité des threads │ MT-Safe        │
       └──────────────────────────────┴──────────────────────┴────────────────┘

STANDARDS
       POSIX.1-2001, POSIX.1-2008.

EXEMPLES
       L'appel

           strfmon(buf, sizeof(buf), "[%^=*#6n] [%=*#6i]",
                   1234.567, 1234.567);

       affiche

           [€ **1234,57] [EUR **1 234,57]

       dans la locale nl_NL. Les locales de_DE, de_CH, en_AU et en_GB  donnent
       pour résultat

           [ **1234,57 €] [ **1.234,57 EUR]
           [ Fr. **1234.57] [ CHF **1'234.57]
           [ $**1234.57] [ AUD**1,234.57]
           [ £**1234.57] [ GBP**1,234.57]

VOIR AUSSI
       duplocale(3), setlocale(3), sprintf(3), locale(7)

TRADUCTION
       La  traduction française de cette page de manuel a été créée par Chris-
       tophe Blaess <https://www.blaess.fr/christophe/>, Stéphan  Rafin  <ste-
       phan.rafin@laposte.net>, Thierry Vignaud <tvignaud@mandriva.com>, Fran-
       çois Micaux, Alain Portal <aportal@univ-montp2.fr>, Jean-Philippe  Gué-
       rard  <fevrier@tigreraye.org>,  Jean-Luc  Coulon (f5ibh) <jean-luc.cou-
       lon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>,  Thomas  Huriaux
       <thomas.huriaux@gmail.com>,  Nicolas François <nicolas.francois@centra-
       liens.net>, Florentin Duneau <fduneau@gmail.com>, Simon  Paillard  <si-
       mon.paillard@resel.enst-bretagne.fr>,    Denis   Barbier   <barbier@de-
       bian.org>, David Prévot <david@tilapin.org>  et  Grégoire  Scano  <gre-
       goire.scano@malloc.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter à
       la       GNU       General       Public        License        version 3
       ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les conditions
       de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de  manuel,
       veuillez envoyer un message à ⟨debian-l10n-french@lists.debian.org⟩.

Pages du manuel de Linux 6.03   5 février 2023                      strfmon(3)

Generated by dwww version 1.15 on Sat Jun 29 01:51:41 CEST 2024.