std::numpunct_byname
Von cppreference.com
| Definiert in Header <locale> |
||
| template< class CharT > class numpunct_byname : public std::numpunct<CharT>; |
||
std::numpunct_byname ist eine std::numpunct Facette, die numerische Interpunktionspräferenzen einer bei ihrer Konstruktion angegebenen Locale kapselt.
Inhalt |
[bearbeiten] Spezialisierungen
Die Standardbibliothek garantiert die Bereitstellung der folgenden Spezialisierungen
| Definiert in Header
<locale> | |
| std::numpunct_byname<char> | Locale-spezifische std::numpunct Facette für Narrow-Character-I/O |
| std::numpunct_byname<wchar_t> | Locale-spezifische std::numpunct Facette für Wide-Character-I/O |
[bearbeiten] Verschachtelte Typen
| Typ | Definition |
char_type
|
CharT
|
string_type
|
std::basic_string<CharT> |
[bearbeiten] Memberfunktionen
| (Konstruktor) |
Konstruiert eine neue numpunct_byname Facette(public member function) |
| (Destruktor) |
Zerstört eine numpunct_byname Facette(protected member function) |
std::numpunct_byname::numpunct_byname
| explicit numpunct_byname( const char* name, std::size_t refs = 0 ); |
||
| explicit numpunct_byname( const std::string& name, std::size_t refs = 0 ); |
(seit C++11) | |
Konstruiert eine neue std::numpunct_byname Facette für eine Locale mit dem Namen name.
refs wird für die Ressourcenverwaltung verwendet: Wenn refs = 0 ist, zerstört die Implementierung die Facettenklasse, wenn das letzte std::locale-Objekt, das sie hält, zerstört wird. Andernfalls wird das Objekt nicht zerstört.
Parameter
| name | - | der Name der Locale |
| refs | - | die Anzahl der Referenzen, die auf die Facettenklasse verweisen |
std::numpunct_byname::~numpunct_byname
| protected: ~numpunct_byname(); |
||
Zerstört die Facettenklasse.
Geerbt von std::numpunct
Verschachtelte Typen
| Typ | Definition |
char_type
|
CharT
|
string_type
|
std::basic_string<CharT> |
[edit] Datenmember
| Mitglied | Beschreibung |
std::locale::id id [static] |
die Kennung des Facets |
Memberfunktionen
ruft do_decimal_point auf(public member function of std::numpunct<CharT>) | |
ruft do_thousands_sep auf(public member function of std::numpunct<CharT>) | |
ruft do_grouping auf(public member function of std::numpunct<CharT>) | |
ruft do_truename oder do_falsename auf(public member function of std::numpunct<CharT>) |
Geschützte Memberfunktionen
| [virtuell] |
stellt das zu verwendende Zeichen für den Dezimalpunkt bereit (virtual protected member function of std::numpunct<CharT>) |
| [virtuell] |
stellt das zu verwendende Zeichen für den Tausendertrenner bereit (virtual protected member function of std::numpunct<CharT>) |
| [virtuell] |
stellt die Anzahl der Ziffern zwischen jedem Paar von Tausendertrennzeichen bereit (virtual protected member function of std::numpunct<CharT>) |
| [virtuell] |
liefert den String, der als Name für die booleschen Werte true und false verwendet wird (virtual protected member function of std::numpunct<CharT>) |
[bearbeiten] Beispiel
Dieses Beispiel zeigt, wie die numerischen Interpunktionsregeln einer anderen Sprache angewendet werden können, ohne den Rest der Locale zu ändern.
Führen Sie diesen Code aus
#include <iostream> #include <locale> int main() { const double number = 1000.25; std::wcout << L"default locale: " << number << L'\n'; std::wcout.imbue(std::locale(std::wcout.getloc(), new std::numpunct_byname<wchar_t>("ru_RU.UTF8"))); std::wcout << L"default locale with russian numpunct: " << number << L'\n'; }
Ausgabe
default locale: 1000.25 default locale with russian numpunct: 1 000,25
[bearbeiten] Siehe auch
| definiert Regeln für numerische Satzzeichen (Klassentemplate) |