Поделиться через


money_put::do_put

Виртуальная функция, вызываемая для преобразования или число или строку в последовательности символов, которая представляет денежное значение.

virtual iter_type do_put(
    iter_type _Next, 
    bool _Intl, 
    ios_base& _Iosbase,
    CharType _Fill, 
    const string_type& _Val
) const;
virtual iter_type do_put(
    iter_type _Next, 
    bool _Intl, 
    ios_base& _Iosbase,
    CharType _Fill,
    long double _Val
) const;

Параметры

  • _Next
    Итератор адресацию первый элемент вставляемой строки.

  • _Intl
    Логическое значение типа символа валюты, ожидаемому в последовательности. если true international, false если внутренний.

  • _Iosbase
    Пометить формата, когда набор покажет, что символ валюты (необязательно); в противном случае необходимости

  • _Fill
    Символ, используемый для размечать.

  • _Val
    Строковый объект, который необходимо преобразовать.

Возвращаемое значение

Позиция итератора вывода адреса одно за последним элементом является создателем.

Заметки

Первым функцию-член защищенный виртуальный создает последовательные элементы, начиная с _Next создание денежное поле вывод из объекта _Valstring_type.Управляемая последовательность _Val должна начинаться с одним или несколькими десятичные разряды, при необходимости предшествуемые отрицательным знак (-), который представляет объем.Функция возвращает итератор, обозначающая первый элемент, созданным монетным полем выходного потока.

Вторым функцию-член защищенный виртуальный работает так же, как и во-первых, за исключением того, что он фактически первые новообращенные _Val в последовательность десятичных разрядов, при необходимости предшествуемой отрицательным, а затем новообращенными эта последовательность как выше.

Формат вывода монетного поля задан fac аспект языкового стандарта, возвращаемым <CharTypemoneypunct< use_facet вызова (эффективного), > > intl(iosbase.getloc).

В частности:

  • fac.pos_format определяет порядок, в котором поля создаются компоненты - это неотрицательные значения.

  • fac.negative_format определяет порядок, в котором компоненты поля для отрицательного значения.

  • fac.curr_symbol определяет последовательность элементов для формирования для символа валюты.

  • fac.positive_sign определяет последовательность элементов для формирования для положительного знака.

  • fac.negative_sign определяет последовательность элементов для формирования для отрицательного знака.

  • fac.группирование определяет, как цифры слева от десятичной запятой любого группирования.

  • fac.thousands_sep определяет элемент, разделяющий группы в составе цифр слева от любой десятичной запятой.

  • fac.decimal_point определяет элемент, разделяющий числа целым числом из любого знака части.

  • fac.frac_digits указывающее количество значащих цифр справа от десятичной запятой в любой части.

Если строка, то знака (fac.negative_sign или fac.positive_sign) имеет более одного элемента, только первый элемент создается, когда элемент равен money_base::sign отображается в шаблон формата (fac.neg_format или fac.pos_format).Все остальные элементы создаются в конце монетного поля вывода.

Если iosbase.флаги & showbase не равны нулю, строка fac.curr_symbol генерируется, когда элемент равен money_base::symbol отображается в шаблон формата.В противном случае отсутствие символа валюты.

При отсутствии ограничений группирования не наведены fac.grouping (свой первый элемент имеет значение CHAR_MAX), после чего ни одного экземпляра fac.thousands_sep создается в части значение монетного поля (где элемент равен money_base::value отображается в шаблон формата).Если fac.frac_digits равно нулю, то нет экземпляров fac.decimal_point создается после десятичных разрядов.В противном случае результирующий денежное поле вывод устанавливает младший fac. десятичные разряды frac_digits справа от десятичной запятой.

Заполнение происходит для любого числового поля, за исключением того, что если iosbase.флаги & iosbase.внутренние не равно нулю, любая внутреннее заполнение генерируется, когда элемент равен money_base::space отображается в шаблон формата, если он отображается.В противном случае внутренняя заполнение происходит перед созданной последовательности.Символ заполнения, fill.

Вызовы функций iosbase.width(0), чтобы задать ширину поля на ноль.

Пример

См. пример для поместите, где виртуальный функция-член вызывается put.

Требования

заголовок: <locale>

std пространство имен:

См. также

Ссылки

money_put Class