首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

do_grouping

Defined in header <locale>

?

?

public: std::string grouping() const;

(1)

?

protected: virtual std::string do_grouping() const;

(2)

?

1%29公共成员函数,调用成员函数do_grouping最派生的类。

2%29返回std::string持有,在每一个char元素的数值输出的每一组中的数字数。num_put::put()28%,因此,basic_ostream::operator<<%29

组存储为二进制值:三位组是'\3',而51位组是'3'返回字符串的索引0处的字符保存最右边组中的数字数。索引1处的字符保存第二组中右边的数字数等。返回字符串中的最后一个字符所指示的分组被重新用于对%29的%28左部分中的所有剩余数字进行分组。

返回值

类型对象std::string抱着这些人。标准专业std::numpunct返回一个空字符串,表示没有分组。典型分组%28例如。大en_US地区%29返回"\003"...

二次

代码语言:javascript
复制
#include <iostream>
#include <limits>
#include <locale>
 
struct space_out : std::numpunct<char>
{
    char do_thousands_sep()   const { return ' ';  } // separate with spaces
    std::string do_grouping() const { return "\1"; } // groups of 1 digit
};
 
struct g123 : std::numpunct<char>
{
    std::string do_grouping() const { return "\1\2\3"; }
};
 
int main()
{
    std::cout << "default locale: " << 12345678 << '\n';
    std::cout.imbue(std::locale(std::cout.getloc(), new space_out));
    std::cout << "locale with modified numpunct: " << 12345678 << '\n';
    std::cout.imbue(std::locale(std::cout.getloc(), new g123));
    std::cout << "Locale with \\1\\2\\3 grouping: " << 
              std::numeric_limits<unsigned long long>::max() << '\n';
}

二次

产出:

二次

代码语言:javascript
复制
default locale: 12345678
locale with modified numpunct: 1 2 3 4 5 6 7 8
Locale with \1\2\3 grouping: 18,446,744,073,709,551,61,5

二次

另见

do_thousands_sep virtual

provides the character to use as thousands separator (virtual protected member function)

代码语言:txt
复制
 ? cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com