num_put::put

将数字转换为表示针对特定区域设置格式的数字 CharType的序列。

iter_type put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    bool _Val
) const;
iter_type put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    long _Val
) const;
iter_type put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    unsigned long _Val
) const;
iter_type put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    Long long _Val
) const;
iter_type put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    Unsigned long long _Val
) const;

iter_type put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    double _Val
) const;
iter_type put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    long double _Val
) const;
iter_type put(
    iter_type _Dest,
    ios_base& _Iosbase,
    _Elem _Fill,
    const void * _Val
) const;

参数

  • _Dest
    处理插入的字符串中的第一个元素的次数的迭代器。

  • _Iosbase
    指定了用于包含的 numpunct 个标点添加的区域设置并为输出格式输出标志的流。

  • _Fill
    有关空间使用的字符。

  • _Val
    将输出的数字或布尔类型。

返回值

输出迭代器。最后一个元素外的位置生成一的地址。

备注

所有成员函数返回 do_put(_Next、_Iosbase、_Fill,_Val)。

示例

// num_put_put.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
   locale loc( "german_germany" );
   basic_stringstream<char> psz2;
   ios_base::iostate st = 0;
   long double fVal;
   cout << "The thousands separator is: " 
        << use_facet < numpunct <char> >(loc).thousands_sep( ) 
        << endl;

   psz2.imbue( loc );
   use_facet < num_put < char > >
      ( loc ).put(basic_ostream<char>::_Iter(psz2.rdbuf( ) ),
                    psz2, ' ', fVal=1000.67);

   if ( st & ios_base::failbit )
      cout << "num_put( ) FAILED" << endl;
   else
      cout << "num_put( ) = " << psz2.rdbuf( )->str( ) << endl;
}
  

要求

页眉: <区域设置>

命名空间: std

请参见

参考

num_put 类