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,如果国际,false,如果国内。

  • _Iosbase
    格式标志,当设置指示货币符号是可选的;否则,需要

  • _Fill
    为了节省空间使用的字符。

  • _Val
    将转换的字符串对象。

返回值

输出迭代器在最后一个元素之外的位置都产生的地址。

备注

第一个虚拟保护的成员函数生成开始在 _Next 的时序组件由 string_type 对象 _Val生成的货币输出字段。 序列控件由 _Val 必须从一个或多个十进制数字开头,并且可以在一个减号(-)后,表示该数量。 函数返回指定在生成的货币输出字段之外的迭代器第一个元素。

第二个虚拟保护的成员函数有效的行为与第一个相同,除此之外,第一个转换 _Val 到一个排序如上所述的减号,然后转换之后,可选择的数字序列。

返回的 区域设置方面 fac取决于一个货币输出字段的格式(活动)调用 use_facet <moneypunct<CharTypeintl> > (iosbasegetloc)。

尤其是在下列情况下:

  • facpos_format 确定字段元素为非负值生成的顺序。

  • facneg_format 确定字段元素为负值生成的顺序。

  • faccurr_symbol 定位元素序列为货币符号生成。

  • facpositive_sign 定位元素序列为一个带符号的生成。

  • facnegative_sign 定位元素序列为一个减号生成。

  • fac分组 确定num如何在任何左侧分组小数点。

  • facthousands_sep 确定在任何左侧分隔数字组小数点的元素。

  • facdecimal_point 确定从任何部分数字分隔整数位数的元素。

  • facfrac_digits 在任何右侧确定重要的部分数字的数量。

如果符号字符串(facnegative_signfacpositive_sign)具有多个元素,因此,只有第一个元素生成一个元素等于 money_base::sign 显示格式模式(facneg_formatfacpos_format). 其余元素会在货币输出字段的末尾。

如果 iosbase标志 & showbase 不为零,字符串 faccurr_symbol 生成元素等于 money_base::symbol 显示格式模式的位置。 否则,货币符号不生成。

如果 fac不会分组的约束。grouping (其第一个元素具有值CHAR_MAX),则任何实例 facthousands_sep 在货币输出字段的值部分生成(其中元素等于 money_base::value 显示格式模式)。 如果 facfrac_digits 为零,则任何实例 facdecimal_point 在十进制数字之后启动。 否则,生成的货币输出字段将低序 fac。在右侧的frac_digits 十进制数字小数点。

填充为所有数字输出字段发生,以便,但,如果 iosbaseflags & iosbase内部 不为零,所有内部填充生成元素等于 money_base::space 显示格式模式的位置,因此,如果显示。 否则,内部填充在生成的序列之前发生。 填充字符是 fill

函数调用 iosbase。重置字段的宽度width(0)为零。

示例

放置参见示例,虚拟成员函数由 put调用。

要求

标头: <locale>

命名空间: std

请参见

参考

money_put Class