.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2000, Andries E. Brouwer .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH strfmon 3 "8 февраля 2026 г." "Linux man\-pages 6.18" .SH НАИМЕНОВАНИЕ strfmon, strfmon_l \- преобразует денежное значение в строку .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP,\ \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBssize_t strfmon(\fPsize_t size; \fB char \fP\fIs\fP\fB[restrict \fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, ...);\fP \fBssize_t strfmon_l(\fPsize_t size; \fB char \fP\fIs\fP\fB[restrict \fP\fIsize\fP\fB], size_t \fP\fIsize\fP\fB, locale_t \fP\fIl\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, ...);\fP .fi .SH ОПИСАНИЕ The \fBstrfmon\fP() function formats the specified monetary amount according to the current locale and format specification \fIformat\fP and places the result in the character array \fIs\fP of \fIsize\fP bytes. .P The \fBstrfmon_l\fP() function performs the same task, but uses the locale specified by \fIl\fP. The behavior of \fBstrfmon_l\fP() is undefined if \fIl\fP is the special locale object \fBLC_GLOBAL_LOCALE\fP (see \fBduplocale\fP(3)) or is not a valid locale object handle. .P Ordinary characters in \fIformat\fP are copied to \fIs\fP without conversion. Conversion specifiers are introduced by a \[aq]%\[aq] character. Immediately following it there can be zero or more of the following flags: .TP \fB=\fP\fIf\fP Однобайтовый символ \fIf\fP используется в качестве числового символа\-заполнителя (для выравнивания слева, смотрите ниже). Если символ не указан, то используется символ пробела. .TP \fB\[ha]\fP Не использовать группирующие символы, которые могут быть определены в текущей локали. По умолчанию, разделение на группы разрядов разрешено. .TP \fB(\fP или \fB+\fP Флаг ( указывает на то, что отрицательные суммы должны быть заключены в скобки. Флаг + указывает на то, что наличие знака у суммы должно обрабатываться стандартным способом, то есть зависит от локали, например может быть так, что в результате ничего не указывается для положительных сумм и «\-» для отрицательных. .TP \fB!\fP Пропустить текущий символ. .TP \fB\-\fP Выровнять все поля по левому краю. По умолчанию выравнивание по правому краю. .P Далее может быть указана ширина поля: строка с десятичным числом, определяющая минимальную ширину поля в байтах. По умолчанию 0. Если результат меньше чем эта ширина, то он дополняется пробелами (слева, если установлен флаг выравнивания по левому краю). .P Далее может быть указана ширина целой части числа: символ «#», за которым следует строка с десятичным числом. Если количество цифр слева от символа разделителя меньше, чем ширина целой части, то предоставление дополняется слева числовым символом\-заполнителем. Группирующие символы не учитываются при подсчете этой ширины поля. .P Далее может быть указана точность десятичной части: символ «.», за которым следует строка с десятичным числом. Перед форматированием сумма будет округлена до указанного числа знаков. По умолчанию, точность задаётся в элементах \fIfrac_digits\fP и \fIint_frac_digits\fP текущей локали. Если десятичная точность равна 0, то разделитель целой и дробной части не печатается (символ\-разделитель определяется переменной \fBLC_MONETARY\fP и может отличаться от символа определенного в переменной \fBLC_NUMERIC\fP). .P И, наконец, определение преобразования может заканчиваться символом преобразования. Существует три символа преобразования: .TP \fB%\fP (In this case, the entire specification must be exactly "%%".) Put a \[aq]%\[aq] character in the result string. .TP \fBi\fP Аргумент типа \fIdouble\fP преобразуется с использованием локального интернационального формата валюты. .TP \fBn\fP Аргумент типа \fIdouble\fP преобразуется с использованием локального национального формата валюты. .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" При успешном выполнении функция \fBstrfmon\fP() возвращает количество символов, помещённых в массив \fIs\fP, без учёта конечного байта null, предоставляя строку, включающую конечный байт null. Иначе она устанавливает \fIerrno\fP в значение \fBE2BIG\fP, возвращает \-1, а содержимое массива не определено. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBstrfmon\fP() T} Безвредность в нитях MT\-Safe locale T{ .na .nh \fBstrfmon_l\fP() T} Безвредность в нитях MT\-Safe .TE .SH СТАНДАРТЫ POSIX.1\-2008. .SH ИСТОРИЯ POSIX.1\-2001. .SH ПРИМЕРЫ Вызов .P .in +4n .EX strfmon(buf, sizeof(buf), "[%\[ha]=*#6n] [%=*#6i]", 1234.567, 1234.567); .EE .in .P результат .P .in +4n .EX [€ **1234,57] [EUR **1 234,57] .EE .in .P с локалью \fInl_NL\fP. С локалями \fIde_DE\fP, \fIde_CH\fP, \fIen_AU\fP и \fIen_GB\fP: .P .in +4n .EX [ **1234,57 €] [ **1.234,57 EUR] [ Fr.\& **1234.57] [ CHF **1\[aq]234.57] [ $**1234.57] [ AUD**1,234.57] [ £**1234.57] [ GBP**1,234.57] .EE .in .SH "СМОТРИТЕ ТАКЖЕ" \fBduplocale\fP(3), \fBsetlocale\fP(3), \fBsprintf\fP(3), \fBlocale\fP(7) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov и Иван Павлов . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT debian-l10n-russian@lists.debian.org списка рассылки русских переводчиков .ME .