strfmon(3) Library Functions Manual strfmon(3) NOMBRE strfmon, strfmon_l - convierte valores monetarios a una cadena BIBLIOTECA Biblioteca Estandar C (libc, -lc) SINOPSIS #include ssize_t strfmon(size_t max; char s[restrict max], size_t max, const char *restrict format, ...); ssize_t strfmon_l(size_t max; char s[restrict max], size_t max, locale_t locale, const char *restrict format, ...); DESCRIPCION La funcion strfmon() formatea las cantidades monetarias definidas segun la especificacion de la localizacion en curso y del formato formato.Guarda el resultado en el vector de caracteres s de tamano max. La funcion strfmon_l() realiza la misma tarea, pero utiliza la configuracion regional definida por locale. El comportamiento de strfmon_l() no esta definido si locale es el objeto de configuracion regional especial LC_GLOBAL_LOCALE (consulte duplocale(3)) o no es un identificador de objeto de configuracion regional valido. Los caracteres ordinarios en format se copian a s sin conversion. Los especificadores de conversion se introducen con el caracter '%'. Justo despues, puede haber cero o mas de los siguientes indicadores: =f El caracter de un solo byte f se usa como caracter de relleno numerico (el relleno se produce a la izquierda, vea mas abajo). Cuando no se especifica, se utiliza el caracter espacio. ^ No usar ningun caracter de agrupamiento que pueda estar definido para la localizacion actual. Por defecto, el agrupamiento esta habilitado. ( o + La opcion ( indica que las cantidades negativas deben ser encerradas entre parentesis. La opcion + indica que los signos deben ser manejados en el modo por defecto, esto es, las cantidades son precedidas por la indicacion de signo de la localizacion, p.e., nada para positivo, "-" para negativo. ! Omitir el simbolo monetario. - Justificar a la izquierda todos los campos. Por defecto se justifican a la derecha. A continuacion, puede haber una anchura de campo: una cadena de digitos decimales especificando una anchura minima de campo. El valor por defecto es 0. Un resultado mas pequeno que esta anchura es rellenado con espacios (a la izquierda, a menos que se especifique la opcion de justificado a la izquierda). Seguidamente, pueda haber una precision izquierda de la forma "#" seguido por una cadena de digitos decimales. Si el numero de digitos a la izquierda del caracter decimal es mas pequeno que esto, la representacion se rellena a la izquierda con el caracter de relleno numerico. Los caracteres de agrupamiento no se tienen en cuenta en este ancho de campo. Tras esto, puede haber una precision derecha de la forma "." seguido por una cadena de digitos decimales. La cantidad a formatear se redondea al numero especificado de digitos antes de formatear. El valor por omision se especifica en los elementos frac_digits y int_frac_digits de la localizacion actual. Si la precision derecha es 0, no se muestra ningun caracter decimal (el caracter decimal lo determina aqui LC_MONETARY y puede diferir del especificado por LC_NUMERIC.) Finalmente, la especificacion de conversion debe terminar con un caracter de conversion. Los tres caracteres de conversion son % (En este caso la especificacion completa debe ser exactamente "%%".) Pone un caracter '%' en la cadena resultante. i Un argumento de tipo double se convierte usando el formato monetario internacional de la localizacion. n Un argumento de tipo double se convierte usando el formato monetario nacional de la localizacion. VALOR DEVUELTO La funcion strfmon() devuelve el numero de caracteres colocados en el vector s, sin incluir el byte nulo de terminacion, siempre que la cadena, incluido el byte nulo de terminacion, quepa. De lo contrario, establece errno en E2BIG, devuelve -1 y el contenido del vector queda indefinido. ATRIBUTOS Para obtener una explicacion de los terminos usados en esta seccion, vease attributes(7). +------------+--------------------+-----------------------------------------------+ |Interfaz | Atributo | Valor | +------------+--------------------+-----------------------------------------------+ |strfmon() | Seguridad del hilo | Configuracion regional de multi-hilo seguro | +------------+--------------------+-----------------------------------------------+ |strfmon_l() | Seguridad del hilo | Multi-hilo seguro | +------------+--------------------+-----------------------------------------------+ ESTANDARES POSIX.1-2008. HISTORIAL POSIX.1-2001. EJEMPLOS La llamada strfmon(buf, sizeof(buf), "[%^=*#6n] [%=*#6i]", 1234.567, 1234.567); produce la salida [EUR **1234,57] [EUR **1 234,57] en la configuracion regional nl_NL. Las configuraciones regionales de_DE, de_CH, en_AU e en_GB producen [ **1234,57 EUR] [ **1.234,57 EUR] [ Fr. **1234.57] [ CHF **1'234.57] [ $**1234.57] [ AUD**1,234.57] [ L**1234.57] [ GBP**1,234.57] VEASE TAMBIEN duplocale(3), setlocale(3), sprintf(3), locale(7) TRADUCCION La traduccion al espanol de esta pagina del manual fue creada por Miguel Perez Ibars y Marcos Fouces Esta traduccion es documentacion libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algun error en la traduccion de esta pagina del manual, envie un correo electronico a . Paginas de Manual de Linux 6.15 28 Junio 2025 strfmon(3)