Udostępnij za pośrednictwem


numpunct — Klasa

Szablon klasy opisujący obiekt, który może służyć jako lokalny aspekt opis sekwencji typu CharType używanych do reprezentowania informacji na temat formatowania i interpunkcji wyrażeń liczbowych i logicznych.

Składnia

template <class CharType>
class numpunct : public locale::facet;

Parametry

Typ char
Typ używany w programie do kodowania znaków w ustawieniach regionalnych.

Uwagi

Podobnie jak w przypadku dowolnego zestawu reguł ustawień regionalnych, identyfikator obiektu statycznego ma początkową przechowywaną wartość zero. Pierwsza próba uzyskania dostępu do przechowywanej wartości przechowuje unikatową wartość dodatnią w identyfikatorze.

Konstruktory

Konstruktor opis
numpunct Konstruktor dla obiektów typu numpunct.

Typedefs

Nazwa typu opis
char_type Typ opisujący znak używany przez ustawienie regionalne.
string_type Typ opisujący ciąg zawierający znaki typu CharType.

Funkcje składowe

Funkcja składowa opis
decimal_point Zwraca element ustawień regionalnych używany jako separator dziesiętny.
do_decimal_point Chroniona funkcja wirtualna elementu członkowskiego, która jest wywoływana w celu zwrócenia elementu specyficznego dla ustawień regionalnych używanego jako separator dziesiętny.
do_falsename Chroniona funkcja wirtualna elementu członkowskiego wywoływana w celu zwrócenia ciągu, który ma być używany jako tekstowa reprezentacja wartości false.
do_grouping Chroniona funkcja wirtualna elementu członkowskiego, wywoływana w celu zwrócenia reguły specyficznej dla ustawień regionalnych, aby określić sposób grupowania cyfr na lewo od każdego znaku dziesiętnego.
do_thousands_sep Chroniona funkcja wirtualna elementu członkowskiego, która jest wywoływana w celu zwrócenia elementu specyficznego dla ustawień regionalnych używanego jako separator tysięczny.
do_truename Chroniona funkcja wirtualna elementu członkowskiego wywoływana w celu zwrócenia ciągu, który ma być używany jako tekstowa reprezentacja wartości true.
falsename Zwraca ciąg, który ma być używany jako tekstowa reprezentacja wartości false.
grupowanie Zwraca regułę specyficzną dla ustawień regionalnych określającą sposób grupowania cyfr na lewo od każdego znaku dziesiętnego.
thousands_sep Zwraca element specyficzny dla ustawień regionalnych używany jako separator tysięczny.
truename Zwraca ciąg, który ma być używany jako tekstowa reprezentacja wartości true.

Wymagania

Nagłówek:<ustawienia regionalne>

Przestrzeń nazw: std

numpunct::char_type

Typ opisujący znak używany przez ustawienie regionalne.

typedef CharType char_type;

Uwagi

Typ jest synonimem parametru CharType szablonu.

numpunct::d ecimal_point

Zwraca element ustawień regionalnych używany jako separator dziesiętny.

CharType decimal_point() const;

Wartość zwracana

Element specyficzny dla ustawień regionalnych do użycia jako punkt dziesiętny.

Uwagi

Funkcja składowa zwraca do_decimal_point.

Przykład

// 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

Chroniona funkcja wirtualna elementu członkowskiego, która jest wywoływana w celu zwrócenia elementu specyficznego dla ustawień regionalnych używanego jako separator dziesiętny.

virtual CharType do_decimal_point() const;

Wartość zwracana

Element specyficzny dla ustawień regionalnych do użycia jako punkt dziesiętny.

Przykład

Zobacz przykład decimal_point, w którym wirtualna funkcja składowa jest wywoływana przez decimal_pointelement .

numpunct::d o_falsename

Chroniona funkcja wirtualnego elementu członkowskiego zwraca sekwencję, która ma być używana jako tekstowa reprezentacja wartości false.

virtual string_type do_falsename() const;

Wartość zwracana

Ciąg zawierający sekwencję, która ma być używana jako tekstowa reprezentacja wartości false.

Uwagi

Funkcja składowa zwraca ciąg "false", aby reprezentować wartość false we wszystkich ustawieniach regionalnych.

Przykład

Zobacz przykład falsename, gdzie funkcja wirtualnego elementu członkowskiego jest wywoływana przez falsename.

numpunct::d o_grouping

Chroniona funkcja wirtualna elementu członkowskiego, wywoływana w celu zwrócenia reguły specyficznej dla ustawień regionalnych, aby określić sposób grupowania cyfr na lewo od każdego znaku dziesiętnego.

virtual string do_grouping() const;

Wartość zwracana

Reguła specyficzna dla ustawień regionalnych do określania sposobu grupowania cyfr po lewej stronie dowolnego punktu dziesiętnego.

Uwagi

Chroniona funkcja wirtualna elementu członkowskiego zwraca regułę specyficzną dla ustawień regionalnych, aby określić sposób grupowania cyfr na lewo od każdego separatora dziesiętnego. Kodowanie jest takie samo jak w przypadku grupowania lconv::grouping.

Przykład

Zobacz przykład grupowania, w którym funkcja wirtualnego elementu członkowskiego jest wywoływana przez groupingelement .

numpunct::d o_thousands_sep

Chroniona funkcja wirtualna elementu członkowskiego, która jest wywoływana w celu zwrócenia elementu specyficznego dla ustawień regionalnych używanego jako separator tysięczny.

virtual CharType do_thousands_sep() const;

Wartość zwracana

Zwraca element specyficzny dla ustawień regionalnych używany jako separator tysięczny.

Uwagi

Funkcja chronionego wirtualnego elementu członkowskiego zwraca element specyficzny dla ustawień regionalnych typu CharType , który ma być używany jako separator grupy po lewej stronie dowolnego punktu dziesiętnego.

Przykład

Zobacz przykład thousands_sep, w którym wirtualna funkcja składowa jest wywoływana przez thousands_sepelement .

numpunct::d o_truename

Chroniona funkcja wirtualna elementu członkowskiego wywoływana w celu zwrócenia ciągu, który ma być używany jako tekstowa reprezentacja wartości true.

virtual string_type do_truename() const;

Uwagi

Ciąg do użycia jako tekstowa reprezentacja wartości true.

Wszystkie ustawienia regionalne zwracają ciąg "true", aby reprezentować wartość true.

Przykład

Zobacz przykład truename, gdzie funkcja wirtualnego elementu członkowskiego jest wywoływana przez truename.

numpunct::falsename

Zwraca ciąg, który ma być używany jako tekstowa reprezentacja wartości false.

string_type falsename() const;

Wartość zwracana

Ciąg zawierający sekwencję CharTypes, która ma być używana jako tekstowa reprezentacja wartości false.

Uwagi

Funkcja składowa zwraca ciąg "false", aby reprezentować wartość false we wszystkich ustawieniach regionalnych.

Funkcja składowa zwraca do_falsename.

Przykład

// 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

Zwraca regułę specyficzną dla ustawień regionalnych określającą sposób grupowania cyfr na lewo od każdego znaku dziesiętnego.

string grouping() const;

Wartość zwracana

Reguła specyficzna dla ustawień regionalnych do określania sposobu grupowania cyfr po lewej stronie dowolnego punktu dziesiętnego.

Uwagi

Funkcja składowa zwraca do_grouping.

Przykład

// 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

Konstruktor dla obiektów typu numpunct.

explicit numpunct(size_t _Refs = 0);

Parametry

_Bibl.
Wartość całkowita używana do określania typu zarządzania pamięcią dla obiektu.

Uwagi

Możliwe wartości parametru _Refs i ich istotności to:

  • 0: Okres istnienia obiektu jest zarządzany przez ustawienia regionalne, które go zawierają.

  • 1: Okres istnienia obiektu musi być zarządzany ręcznie.

  • > 1: Te wartości nie są zdefiniowane.

Nie są możliwe żadne bezpośrednie przykłady, ponieważ destruktor jest chroniony.

Konstruktor inicjuje obiekt podstawowy za pomocą ustawień regionalnych::facet(_Refs).

numpunct::string_type

Typ opisujący ciąg zawierający znaki typu CharType.

typedef basic_string<CharType, Traits, Allocator> string_type;

Uwagi

Typ opisuje specjalizację szablonu klasy basic_string , którego obiekty mogą przechowywać kopie sekwencji interpunkcyjnych.

numpunct::thousands_sep

Zwraca element specyficzny dla ustawień regionalnych używany jako separator tysięczny.

CharType thousands_sep() const;

Wartość zwracana

Element specyficzny dla ustawień regionalnych używany jako separator tysięcy.

Uwagi

Funkcja składowa zwraca do_thousands_sep.

Przykład

// 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

Zwraca ciąg, który ma być używany jako tekstowa reprezentacja wartości true.

string_type falsename() const;

Wartość zwracana

Ciąg do użycia jako tekstowa reprezentacja wartości true.

Uwagi

Funkcja składowa zwraca do_truename.

Wszystkie ustawienia regionalne zwracają ciąg "true", aby reprezentować wartość true.

Przykład

// 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

Zobacz też

<ustawienia regionalne>
facet, klasa
Bezpieczeństwo wątku w standardowej bibliotece C++