std:: numpunct
|
Definiert in Header
<locale>
|
||
|
template
<
class
CharT
>
class numpunct ; |
||
Der Facette
std::numpunct
kapselt numerische Interpunktionspräferenzen. Stream-I/O-Operationen verwenden
std::numpunct
über
std::num_get
und
std::num_put
zum Parsen numerischer Eingaben und Formatieren numerischer Ausgaben.
Die von
std::numpunct
unterstützten Zahlen haben das nachfolgend beschriebene Format. Hier repräsentiert
digit
das durch den
fmtflags
-Argumentwert festgelegte Radix-Set,
thousands-sep
und
decimal-point
sind die Ergebnisse der Funktionen
thousands_sep()
bzw.
decimal_point()
.
Das Format von Ganzzahlwerten ist wie folgt:
integer ::= [sign] units sign ::= plusminus plusminus ::= '+' | '-' units ::= digits [thousands-sep units] digits ::= digit [digits]
Die Anzahl der Ziffern zwischen den
thousand-sep
s (maximale Größe von
digits
) wird durch das Ergebnis von
grouping()
spezifiziert.
Das Format von Gleitkommawerten ist wie folgt:
floatval ::= [sign] units [decimal-point [digits]] [e [sign] digits] |
[sign] decimal-point digits [e [sign] digits]
e ::= 'e' | 'E'
Vererbungsdiagramm
Inhaltsverzeichnis |
Spezialisierungen
Die Standardbibliothek garantiert die Bereitstellung der folgenden Spezialisierungen (sie sind von jedem Locale-Objekt implementiert werden müssen ):
|
Definiert im Header
<locale>
|
|
| std :: numpunct < char > | stellt Äquivalente der "C"-Locale-Einstellungen bereit |
| std :: numpunct < wchar_t > | stellt Wide-Character-Äquivalente der "C"-Locale-Einstellungen bereit |
Verschachtelte Typen
| Typ | Definition |
char_type
|
CharT
|
string_type
|
std:: basic_string < CharT > |
Datenmitglieder
| Mitglied | Beschreibung |
std::locale::id
id
[static]
|
der Bezeichner des Facet |
Memberfunktionen
Konstruiert einen neuen
numpunct
Facette
(öffentliche Elementfunktion) |
|
zerstört einen
numpunct
Facette
(geschützte Elementfunktion) |
|
ruft
do_decimal_point
auf
(öffentliche Elementfunktion) |
|
ruft
do_thousands_sep
auf
(öffentliche Elementfunktion) |
|
ruft
do_grouping
auf
(öffentliche Elementfunktion) |
|
ruft
do_truename
oder
do_falsename
auf
(öffentliche Elementfunktion) |
Geschützte Memberfunktionen
|
[virtual]
|
stellt das als Dezimaltrennzeichen zu verwendende Zeichen bereit
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
stellt das als Tausendertrennzeichen zu verwendende Zeichen bereit
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
stellt die Anzahl der Ziffern zwischen jedem Paar von Tausendertrennzeichen bereit
(virtuelle geschützte Elementfunktion) |
|
[virtual]
|
stellt die als Namen der booleschen Werte
true
und
false
zu verwendenden Zeichenketten bereit
(virtuelle geschützte Elementfunktion) |
Beispiel
Das folgende Beispiel ändert die Zeichenkettenrepräsentationen von true und false :
#include <iostream> #include <locale> struct french_bool : std::numpunct<char> { string_type do_truename() const override { return "vrai"; } string_type do_falsename() const override { return "faux"; } }; int main() { std::cout << "default locale: " << std::boolalpha << true << ", " << false << '\n'; std::cout.imbue(std::locale(std::cout.getloc(), new french_bool)); std::cout << "locale with modified numpunct: " << std::boolalpha << true << ", " << false << '\n'; }
Ausgabe:
default locale: true, false locale with modified numpunct: vrai, faux
Fehlerberichte
Die folgenden verhaltensändernden Fehlerberichte wurden rückwirkend auf zuvor veröffentlichte C++-Standards angewendet.
| DR | Angewendet auf | Verhalten wie veröffentlicht | Korrektes Verhalten |
|---|---|---|---|
| LWG 338 | C++98 |
das
sign
Token erlaubte ein optionales Leerzeichen nach
+
oder
-
|
entfernte das Leerzeichen |
Siehe auch
|
Erstellt einen numpunct-Facet für die benannte Locale
(Klassen-Template) |