Namensräume
Varianten
Aktionen

std::numpunct<CharT>::thousands_sep, do_thousands_sep

Von cppreference.com
< cpp‎ | locale‎ | numpunct
 
 
 
 
 
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

#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) [bearbeiten]