std::numpunct<CharT>::thousands_sep, do_thousands_sep
Von cppreference.com
| Definiert in Header <locale> |
||
| public: char_type thousands_sep() const; |
(1) | |
| protected: virtual char_type do_thousands_sep() const; |
(2) | |
1) Öffentliche Member-Funktion, ruft die Member-Funktion
do_thousands_sep der am weitesten abgeleiteten Klasse auf.2) Gibt das Zeichen zurück, das als Trennzeichen zwischen Zifferngruppen beim Parsen oder Formatieren von ganzen Zahlen und ganzzahligen Teilen von Gleitkommawerten verwendet werden soll.
Inhalt |
[bearbeiten] Rückgabewert
Das Objekt vom Typ char_type, das als Tausendertrennzeichen verwendet werden soll. Die Standard-Spezialisierungen von std::numpunct geben ',' und L',' zurück.
[bearbeiten] Beispiel
Führen Sie diesen Code aus
#include <iostream> #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 }; 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'; }
Ausgabe
default locale: 12345678 locale with modified numpunct: 1 2 3 4 5 6 7 8
[bearbeiten] Fehlerberichte
Die folgenden Verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | angewendet auf | Verhalten wie veröffentlicht | Korrigiertes Verhalten |
|---|---|---|---|
| LWG 20 | C++98 | der Rückgabetyp war string_type |
geändert zu char_type |
[bearbeiten] Siehe auch
| [virtuell] |
stellt die Anzahl der Ziffern zwischen jedem Paar von Tausendertrennzeichen bereit (virtuelle protected Member-Funktion) |