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<CharType,intl> > (iosbase。getloc)。
尤其是在下列情况下:
fac。pos_format 确定字段元素为非负值生成的顺序。
fac。neg_format 确定字段元素为负值生成的顺序。
fac。curr_symbol 定位元素序列为货币符号生成。
fac。positive_sign 定位元素序列为一个带符号的生成。
fac。negative_sign 定位元素序列为一个减号生成。
fac。分组 确定num如何在任何左侧分组小数点。
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。flags & iosbase。内部 不为零,所有内部填充生成元素等于 money_base::space 显示格式模式的位置,因此,如果显示。 否则,内部填充在生成的序列之前发生。 填充字符是 fill。
函数调用 iosbase。重置字段的宽度width(0)为零。
示例
为 放置参见示例,虚拟成员函数由 put调用。
要求
标头: <locale>
命名空间: std