numpunct-Klasse
Eine Klassenvorlage, die ein Objekt beschreibt, das als lokales Facet dienen kann, um die Sequenzen des Typs CharType
zu beschreiben, die zum Darstellen von Informationen über die Formatierung und Interpunktion numerischer und boolescher Ausdrücke verwendet werden.
Syntax
template <class CharType>
class numpunct : public locale::facet;
Parameter
CharType
Der Typ, der innerhalb eines Programms zum Codieren von Zeichen in einem Gebietsschema verwendet wird.
Hinweise
Wie bei jedem Gebietsschemafacet hat die statische Objekt-ID einen anfänglichen gespeicherten Wert von NULL. Beim ersten Versuch, auf den gespeicherten Wert zuzugreifen, wird in id ein eindeutiger positiver Wert gespeichert.
Konstruktoren
Konstruktor | Beschreibung |
---|---|
numpunct | Der Konstruktor für Objekte des Typs numpunct . |
TypeDefs
Typname | Beschreibung |
---|---|
char_type | Ein Typ, mit dem ein Zeichen beschrieben wird, das von einem Gebietsschema verwendet wird. |
string_type | Ein Typ, der eine Zeichenfolge beschreibt, die Zeichen vom Typ CharType enthält. |
Memberfunktionen
Memberfunktion | Beschreibung |
---|---|
decimal_point | Gibt ein gebietsschemaspezifisches Element zurück, das als Dezimaltrennzeichen verwendet werden soll. |
do_decimal_point | Eine geschützte virtuelle Memberfunktion, die aufgerufen wird, um ein gebietsschemaspezifisches Element zurückzugeben, das als Dezimaltrennzeichen verwendet werden soll. |
do_falsename | Eine geschützte virtuelle Memberfunktion, die aufgerufen wird, um eine Zeichenfolge zurückzugeben, die als Textdarstellung des Werts false verwendet werden soll. |
do_grouping | Eine geschützte virtuelle Memberfunktion, die aufgerufen wird, um eine gebietsschemaspezifische Regel zur Bestimmung zurückzugeben, wie Ziffern auf der linken Seite eines Dezimaltrennzeichens gruppiert werden. |
do_thousands_sep | Eine geschützte virtuelle Memberfunktion, die aufgerufen wird, um ein gebietsschemaspezifisches Element zurückzugeben, das als Tausendertrennzeichen verwendet werden soll. |
do_truename | Eine geschützte virtuelle Memberfunktion, die aufgerufen wird, um eine Zeichenfolge zurückzugeben, die als Textdarstellung des Werts true verwendet werden soll. |
falsename | Gibt eine Zeichenfolge zurück, die als Textdarstellung des Werts false verwendet werden soll. |
grouping | Gibt eine gebietsschemaspezifische Regel zur Bestimmung zurück, wie Ziffern auf der linken Seite eines Dezimaltrennzeichens gruppiert werden sollen. |
thousands_sep | Gibt ein gebietsschemaspezifisches Element zurück, das als Tausendertrennzeichen verwendet werden soll. |
truename | Gibt eine Zeichenfolge zurück, die als Textdarstellung des Werts true verwendet werden soll. |
Anforderungen
Header:<locale>
Namespace: std
numpunct::char_type
Ein Typ, mit dem ein Zeichen beschrieben wird, das von einem Gebietsschema verwendet wird.
typedef CharType char_type;
Hinweise
Der Typ stellt ein Synonym für den Vorlagenparameter CharType dar.
numpunct::d ecimal_point
Gibt ein gebietsschemaspezifisches Element zurück, das als Dezimaltrennzeichen verwendet werden soll.
CharType decimal_point() const;
Rückgabewert
Ein gebietsschemaspezifisches Element, das als Dezimaltrennzeichen verwendet werden soll.
Hinweise
Die Memberfunktion gibt do_decimal_point zurück.
Beispiel
// numpunct_decimal_point.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
const numpunct <char> &npunct =
use_facet <numpunct <char> >( loc);
cout << loc.name( ) << " decimal point "<<
npunct.decimal_point( ) << endl;
cout << loc.name( ) << " thousands separator "
<< npunct.thousands_sep( ) << endl;
};
German_Germany.1252 decimal point ,
German_Germany.1252 thousands separator .
numpunct::d o_decimal_point
Eine geschützte virtuelle Memberfunktion, die aufgerufen wird, um ein gebietsschemaspezifisches Element zurückzugeben, das als Dezimaltrennzeichen verwendet werden soll.
virtual CharType do_decimal_point() const;
Rückgabewert
Ein gebietsschemaspezifisches Element, das als Dezimaltrennzeichen verwendet werden soll.
Beispiel
Informationen hierzu finden Sie im Beispiel für decimal_point, bei dem die virtuelle Memberfunktion durch decimal_point
aufgerufen wird.
numpunct::d o_falsename
Die geschützte virtuelle Memberfunktion gibt eine Sequenz zurück, die als Textdarstellung des Werts false
verwendet werden soll.
virtual string_type do_falsename() const;
Rückgabewert
Eine Zeichenfolge, die eine Sequenz enthält, die als Textdarstellung des Werts false
verwendet werden soll.
Hinweise
Die Memberfunktion gibt die Zeichenfolge "false" zurück, um den Wert false
in allen Gebietsschemas darzustellen.
Beispiel
Informationen hierzu finden Sie im Beispiel für falsename, bei dem die virtuelle Memberfunktion durch falsename
aufgerufen wird.
numpunct::d o_grouping
Eine geschützte virtuelle Memberfunktion, die aufgerufen wird, um eine gebietsschemaspezifische Regel zur Bestimmung zurückzugeben, wie Ziffern auf der linken Seite eines Dezimaltrennzeichens gruppiert werden.
virtual string do_grouping() const;
Rückgabewert
Eine gebietsschemaspezifische Regel, die festlegt, wie Ziffern auf der linken Seite eines Dezimaltrennzeichens gruppiert werden.
Hinweise
Die geschützte virtuelle Memberfunktion gibt eine gebietsschemaspezifische Regel zur Bestimmung zurück, wie Ziffern auf der linken Seite eines Dezimaltrennzeichens gruppiert werden. Die Codierung ist dieselbe wie für lconv::grouping.
Beispiel
Sehen Sie sich das Beispiel für die Gruppierung an, in dem die Virtuelle Memberfunktion aufgerufen wird.grouping
numpunct::d o_thousands_sep
Eine geschützte virtuelle Memberfunktion, die aufgerufen wird, um ein gebietsschemaspezifisches Element zurückzugeben, das als Tausendertrennzeichen verwendet werden soll.
virtual CharType do_thousands_sep() const;
Rückgabewert
Gibt ein gebietsschemaspezifisches Element zurück, das als Tausendertrennzeichen verwendet werden soll.
Hinweise
Die geschützte virtuelle Memberfunktion gibt ein gebietsschemaspezifisches Element vom Typ CharType
zurück, das links neben einem dezimalen Punkt als Gruppentrennzeichen verwendet werden soll.
Beispiel
Informationen hierzu finden Sie im Beispiel für thousands_sep, bei dem die virtuelle Memberfunktion durch thousands_sep
aufgerufen wird.
numpunct::d o_truename
Eine geschützte virtuelle Memberfunktion, die aufgerufen wird, um eine Zeichenfolge zurückzugeben, die als Textdarstellung des Werts true
verwendet werden soll.
virtual string_type do_truename() const;
Hinweise
Eine Zeichenfolge, die als Textdarstellung des Werts true
verwendet werden soll.
Alle Gebietsschemas geben eine Zeichenfolge "true" zurück, um den Wert true
darzustellen.
Beispiel
Informationen hierzu finden Sie im Beispiel für truename, bei dem die virtuelle Memberfunktion durch truename
aufgerufen wird.
numpunct::falsename
Gibt eine Zeichenfolge zurück, die als Textdarstellung des Werts false
verwendet werden soll.
string_type falsename() const;
Rückgabewert
Eine Zeichenfolge, die eine Abfolge von CharType
s enthält, die als Textdarstellung des Werts false
verwendet werden soll.
Hinweise
Die Memberfunktion gibt die Zeichenfolge "false" zurück, um den Wert false
in allen Gebietsschemas darzustellen.
Die Memberfunktion gibt do_falsename zurück.
Beispiel
// numpunct_falsename.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "English" );
const numpunct <char> &npunct = use_facet <numpunct <char> >( loc );
cout << loc.name( ) << " truename "<< npunct.truename( ) << endl;
cout << loc.name( ) << " falsename "<< npunct.falsename( ) << endl;
locale loc2( "French" );
const numpunct <char> &npunct2 = use_facet <numpunct <char> >(loc2);
cout << loc2.name( ) << " truename "<< npunct2.truename( ) << endl;
cout << loc2.name( ) << " falsename "<< npunct2.falsename( ) << endl;
}
English_United States.1252 truename true
English_United States.1252 falsename false
French_France.1252 truename true
French_France.1252 falsename false
numpunct::grouping
Gibt eine gebietsschemaspezifische Regel zur Bestimmung zurück, wie Ziffern auf der linken Seite eines Dezimaltrennzeichens gruppiert werden sollen.
string grouping() const;
Rückgabewert
Eine gebietsschemaspezifische Regel, die festlegt, wie Ziffern auf der linken Seite eines Dezimaltrennzeichens gruppiert werden.
Hinweise
Die Memberfunktion gibt do_grouping zurück.
Beispiel
// numpunct_grouping.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany");
const numpunct <char> &npunct =
use_facet < numpunct <char> >( loc );
for (unsigned int i = 0; i < npunct.grouping( ).length( ); i++)
{
cout << loc.name( ) << " international grouping:\n the "
<< i <<"th group to the left of the radix character "
<< "is of size " << (int)(npunct.grouping ( )[i])
<< endl;
}
}
German_Germany.1252 international grouping:
the 0th group to the left of the radix character is of size 3
numpunct::numpunct
Der Konstruktor für Objekte des Typs numpunct
.
explicit numpunct(size_t _Refs = 0);
Parameter
_Refs
Integerwert, der zum Angeben des Speicherverwaltungstyps für das Objekt verwendet wird.
Hinweise
Die möglichen Werte für den _Refs Parameter und deren Bedeutung sind:
0: Die Lebensdauer des Objekts wird von den Gebietsschemas verwaltet, in denen es enthalten ist.
1: Die Lebensdauer des Objekts muss manuell verwaltet werden.
> 1: Diese Werte sind nicht definiert.
Direkte Beispiele hierfür sind nicht möglich, da der Destruktor geschützt ist.
Der Konstruktor initialisiert sein Basisobjekt mit locale::facet(_Refs
).
numpunct::string_type
Ein Typ, der eine Zeichenfolge beschreibt, die Zeichen des Typs CharType enthält.
typedef basic_string<CharType, Traits, Allocator> string_type;
Hinweise
Der Typ beschreibt eine Spezialisierung der Klassenvorlage basic_string , deren Objekte Kopien der Interpunktionssequenzen speichern können.
numpunct::thousands_sep
Gibt ein gebietsschemaspezifisches Element zurück, das als Tausendertrennzeichen verwendet werden soll.
CharType thousands_sep() const;
Rückgabewert
Ein gebietsschemaspezifisches Element, das als Tausendertrennzeichen verwendet werden soll.
Hinweise
Die Memberfunktion gibt do_thousands_sep zurück.
Beispiel
// numpunct_thou_sep.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
const numpunct <char> &npunct =
use_facet < numpunct < char > >( loc );
cout << loc.name( ) << " decimal point "<<
npunct.decimal_point( ) << endl;
cout << loc.name( ) << " thousands separator "
<< npunct.thousands_sep( ) << endl;
};
German_Germany.1252 decimal point ,
German_Germany.1252 thousands separator .
numpunct::truename
Gibt eine Zeichenfolge zurück, die als Textdarstellung des Werts true
verwendet werden soll.
string_type falsename() const;
Rückgabewert
Eine Zeichenfolge, die als Textdarstellung des Werts true
verwendet werden soll.
Hinweise
Die Memberfunktion gibt do_truename zurück.
Alle Gebietsschemas geben eine Zeichenfolge "true" zurück, um den Wert true
darzustellen.
Beispiel
// numpunct_truename.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "English" );
const numpunct < char> &npunct = use_facet <numpunct <char> >( loc );
cout << loc.name( ) << " truename "<< npunct.truename( ) << endl;
cout << loc.name( ) << " falsename "<< npunct.falsename( ) << endl;
locale loc2("French");
const numpunct <char> &npunct2 = use_facet <numpunct <char> >( loc2 );
cout << loc2.name( ) << " truename "<< npunct2.truename( ) << endl;
cout << loc2.name( ) << " falsename "<< npunct2.falsename( ) << endl;
}
English_United States.1252 truename true
English_United States.1252 falsename false
French_France.1252 truename true
French_France.1252 falsename false
Siehe auch
<locale>
facet-Klasse
Threadsicherheit in der C++-Standardbibliothek