NOM
strfmon, strfmon_l - Convertir des valeurs monétaires en chaînes de caractèresBIBLIOTHÈ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. 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 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.
- %
- (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).Interface | Attribut | Valeur |
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'appelstrfmon(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 <[email protected]>, Thierry Vignaud <[email protected]>, François Micaux, Alain Portal <[email protected]>, Jean-Philippe Guérard <[email protected]>, Jean-Luc Coulon (f5ibh) <[email protected]>, Julien Cristau <[email protected]>, Thomas Huriaux <[email protected]>, Nicolas François <[email protected]>, Florentin Duneau <[email protected]>, Simon Paillard <[email protected]>, Denis Barbier <[email protected]>, David Prévot <[email protected]> et Grégoire Scano <[email protected]> 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 à [email protected]5 février 2023 | Pages du manuel de Linux 6.03 |