Provided by: manpages-fr-dev_4.15.0-9_all bug

NOM

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

SYNOPSIS

       #include <monetary.h>

       ssize_t strfmon(char *restrict s, size_t max,
                       const char *restrict format, ...);
       ssize_t strfmon_l(char *restrict s, 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 strfmon_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.

       Les caractères ordinaires de format sont copiés dans s sans conversion. Les indicateurs de
       conversion  sont  introduits  par  un caractère « % ». Immédiatement à sa suite, il peut y
       avoir zéro ou plusieurs drapeaux parmi les suivants :

       =f     Le caractère unique f sert comme caractère numérique  de  remplissage  (à  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égatives.

       !      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 « # » suivie 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 « . » suivie 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  localisation  en  cours.  Si  la précision à droite est 0, aucun symbole décimal 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  caractère  de
       conversion. Les trois caractères disponibles sont :

       %      (Dans ce cas, la spécification entière doit  être  exactement  « %% »).  Placer  un
              caractère « % » dans la chaîne de résultat.

       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        │
       └─────────────────────────────────────────────────┴──────────────────────┴────────────────┘

CONFORMITÉ

       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)

COLOPHON

       Cette page fait partie de la publication 5.13 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.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.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>  et  Grégoire  Scano
       <gregoire.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⟩.