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 falseverwendet werden soll.

virtual string_type do_falsename() const;

Rückgabewert

Eine Zeichenfolge, die eine Sequenz enthält, die als Textdarstellung des Werts falseverwendet 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 trueverwendet werden soll.

Alle Gebietsschemas geben eine Zeichenfolge "true" zurück, um den Wert truedarzustellen.

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 CharTypes enthält, die als Textdarstellung des Werts falseverwendet 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 trueverwendet werden soll.

Hinweise

Die Memberfunktion gibt do_truename zurück.

Alle Gebietsschemas geben eine Zeichenfolge "true" zurück, um den Wert truedarzustellen.

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