Provided by: manpages-fr-dev_4.26.0-1_all bug

NOM

       strfmon, strfmon_l - Convertir des valeurs monétaires en chaînes de caractè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  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        │
       └───────────────────────────────────────────────────────────────┴──────────────────────┴────────────────┘

STANDARDS

       POSIX.1-2008.

HISTORIQUE

       POSIX.1-2001.

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  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 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.9.1                     2 mai 2024                                         strfmon(3)