.\" -*- coding: UTF-8 -*- '\" t .\" Copyright (c) 2000 Andries Brouwer (aeb@cwi.nl) .\" .\" SPDX-License-Identifier: GPL-2.0-or-later .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH strfmon 3 "2 мая 2024 г." "Справочные страницы Linux 6.9.1" .SH ИМЯ strfmon, strfmon_l \- преобразует денежное значение в строку .SH БИБЛИОТЕКА Стандартная библиотека языка C (\fIlibc\fP, \fI\-lc\fP) .SH СИНТАКСИС .nf \fB#include \fP .P \fBssize_t strfmon(char \fP\fIs\fP\fB[restrict .\fP\fImax\fP\fB], size_t \fP\fImax\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, ...);\fP \fBssize_t strfmon_l(char \fP\fIs\fP\fB[restrict .\fP\fImax\fP\fB], size_t \fP\fImax\fP\fB, locale_t \fP\fIlocale\fP\fB,\fP \fB const char *restrict \fP\fIformat\fP\fB, ...);\fP .fi .SH ОПИСАНИЕ Функция \fBstrfmon\fP() преобразует заданные денежные суммы в соответствии с текущей локалью и указанным форматом \fIformat\fP и помещает результат в символьный массив \fIs\fP размера \fImax\fP. .P Функция \fBstrfmon_l\fP() производит то же действие, но используется локаль, заданная в \fIlocale\fP. Поведение \fBstrfmon_l\fP() не определёно, если значение \fIlocale\fP равно специальному объекту локали \fBLC_GLOBAL_LOCALE\fP (смотрите \fBduplocale\fP(3)) или описатель объекта локали не корректен. .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 списка рассылки русских переводчиков .ME .