在线文档教程
C++
本土化 | Localizations

do_grouping

STD::numpoint::分组,做[医]分组

Defined in header
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"...

二次

#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'; }

二次

产出:

二次

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 virtualprovides the character to use as thousands separator (virtual protected member function)

© cppreference.com

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

http://en.cppreference.com/w/cpp/locale/num点t/分组