moneypunct – třída
Šablona třídy popisuje objekt, který může sloužit jako omezující vlastnost národního prostředí, která popisuje posloupnosti typu CharType sloužící k reprezentaci peněžního vstupního pole nebo peněžního výstupního pole. Pokud je parametr šablony Intl pravdivý, jsou pozorovány mezinárodní konvence.
Syntaxe
template <class CharType, bool Intl>
class moneypunct;
Parametry
CharType
Typ používaný v rámci programu ke kódování znaků.
Intl
Příznak určující, zda je třeba dodržovat mezinárodní konvence.
Poznámky
Stejně jako u omezující vlastnosti národního prostředí má ID statického objektu počáteční uloženou hodnotu nula. První pokus o přístup k uložené hodnotě ukládá jedinečnou kladnou hodnotu v ID.
Const static object intl ukládá hodnotu parametru šablony Intl.
Konstruktory
Konstruktor | Popis |
---|---|
moneypunct | Konstruktor objektů typu moneypunct . |
Typedefs
Název typu | Popis |
---|---|
char_type | Typ, který se používá k popisu znaku používaného národním prostředním. |
string_type | Typ, který popisuje řetězec obsahující znaky typu CharType . |
Členské funkce
Členová funkce | Popis |
---|---|
curr_symbol | Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol měny. |
decimal_point | Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol desetinné čárky. |
do_curr_symbol | Chráněná virtuální členská funkce, která vrátí sekvenci prvků specifickou pro národní prostředí, která se použije jako symbol měny. |
do_decimal_point | Chráněná virtuální členská funkce, která je volána k vrácení sekvence prvků specifických pro národní prostředí, která se použije jako symbol desetinné čárky. |
do_frac_digits | Chráněná virtuální členská funkce, která vrátí počet číslic specifický pro národní prostředí, který se zobrazí vpravo od každé desetinné čárky. |
do_grouping | Chráněná virtuální členská funkce, která vrátí pravidlo specifické pro národní prostředí k určení způsobu seskupení číslic vlevo od desetinné čárky. |
do_neg_format | Chráněná virtuální členská funkce, která je volána k vrácení pravidla specifického pro národní prostředí pro formátování výstupů se zápornými částkami. |
do_negative_sign | Chráněná virtuální členská funkce, která je volána k vrácení sekvence prvků specifických pro národní prostředí, která se použije jako symbol záporného znaménka. |
do_pos_format | Chráněná virtuální členská funkce, která je volána k vrácení pravidla specifického pro národní prostředí pro formátování výstupů s kladnými částkami. |
do_positive_sign | Chráněná virtuální členská funkce, která je volána k vrácení sekvence prvků specifických pro národní prostředí, která se použije jako symbol kladného znaménka. |
do_thousands_sep | Chráněná virtuální členská funkce, která je volána k vrácení sekvence prvků specifických pro národní prostředí, která se použije jako symbol oddělovače tisíců. |
frac_digits | Vrátí počet číslic specifický pro národní prostředí, který se zobrazí vpravo od každé desetinné čárky. |
seskupení | Vrátí pravidlo specifické pro národní prostředí určující způsob seskupení číslic nalevo od desetinné čárky. |
neg_format | Vrátí pravidlo specifické pro národní prostředí pro formátování výstupů se zápornými částkami. |
negative_sign | Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol záporného znaménka. |
pos_format | Vrátí pravidlo specifické pro národní prostředí pro formátování výstupů s kladnými částkami. |
positive_sign | Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol kladného znaménka. |
thousands_sep | Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol oddělovače tisíců. |
Požadavky
Záhlaví:<národní prostředí>
Obor názvů: std
moneypunct::char_type
Typ, který se používá k popisu znaku používaného národním prostředním.
typedef CharType char_type;
Poznámky
Typ je synonymem parametru šablony CharType.
moneypunct::curr_symbol
Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol měny.
string_type curr_symbol() const;
Návratová hodnota
Řetězec obsahující symbol měny.
Poznámky
Členová funkce vrátí do_curr_symbol.
Příklad
// moneypunct_curr_symbol.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
const moneypunct < char, true > &mpunct = use_facet < moneypunct < char, true > >(loc);
cout << loc.name( ) << " international currency symbol "<< mpunct.curr_symbol( ) << endl;
const moneypunct < char, false> &mpunct2 = use_facet < moneypunct < char, false> >(loc);
cout << loc.name( ) << " domestic currency symbol "<< mpunct2.curr_symbol( ) << endl;
};
moneypunct::d ecimal_point
Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol desetinné čárky.
CharType decimal_point() const;
Návratová hodnota
Sekvence prvků specifických pro národní prostředí, která se má použít jako symbol desetinné čárky.
Poznámky
Členová funkce vrátí do_decimal_point.
Příklad
// moneypunct_decimal_pt.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc("german_germany");
const moneypunct < char, true > &mpunct = use_facet
< moneypunct < char, true > >(loc);
cout << loc.name( ) << " international decimal point "
<< mpunct.decimal_point( ) << endl;
const moneypunct < char, false> &mpunct2 = use_facet
< moneypunct < char, false> >(loc);
cout << loc.name( ) << " domestic decimal point "
<< mpunct2.decimal_point( ) << endl;
}
German_Germany.1252 international decimal point ,
German_Germany.1252 domestic decimal point ,
moneypunct::d o_curr_symbol
Chráněná virtuální členská funkce, která vrátí sekvenci prvků specifickou pro národní prostředí, která se použije jako symbol měny.
virtual string_type do_curr_symbol() const;
Návratová hodnota
Sekvence prvků specifických pro národní prostředí, která se má použít jako symbol desetinné čárky.
Příklad
Podívejte se na příklad curr_symbol, kde je virtuální členová funkce volána curr_symbol
.
moneypunct::d o_decimal_point
Chráněná virtuální členová funkce, která vrací sekvenci prvků specifických pro národní prostředí, která se použije jako symbol desetinné čárky.
virtual CharType do_decimal_point() const;
Návratová hodnota
Sekvence prvků specifických pro národní prostředí, která se má použít jako symbol desetinné čárky.
Příklad
Podívejte se na příklad decimal_point, kde je virtuální členová funkce volána decimal_point
.
moneypunct::d o_frac_digits
Chráněná virtuální členová funkce, která vrací počet číslic specifických pro národní prostředí, které se mají zobrazit napravo od libovolné desetinné čárky.
virtual int do_frac_digits() const;
Návratová hodnota
Počet číslic specifických pro národní prostředí, které se mají zobrazit napravo od libovolné desetinné čárky.
Příklad
Podívejte se na příklad frac_digits, kde je virtuální členová funkce volána frac_digits
.
moneypunct::d o_grouping
Chráněná virtuální členová funkce, která vrací pravidlo specifické pro národní prostředí pro určení způsobu seskupení číslic vlevo od libovolné desetinné čárky.
virtual string do_grouping() const;
Návratová hodnota
Pravidlo specifické pro národní prostředí pro určení způsobu seskupení číslic vlevo od libovolné desetinné čárky.
Příklad
Podívejte se na příklad seskupení, kde je volána grouping
virtuální členová funkce .
moneypunct::d o_neg_format
Chráněná virtuální členská funkce, která je volána k vrácení pravidla specifického pro národní prostředí pro formátování výstupů se zápornými částkami.
virtual pattern do_neg_format() const;
Návratová hodnota
Chráněná virtuální členová funkce vrátí pravidlo specifické pro národní prostředí pro určení způsobu generování peněžního výstupního pole pro zápornou částku. Každý ze čtyř prvků pattern::field
může mít hodnoty:
none
aby odpovídaly nule nebo více mezer nebo negenerovaly nic.sign
aby se shodoval nebo vygeneroval kladné nebo záporné znaménko.space
aby odpovídaly nule nebo více mezer nebo vygenerovaly mezeru.symbol
nebo vygenerování symbolu měny.value
a vygeneruje peněžní hodnotu.
Komponenty peněžního výstupního pole se generují a komponenty peněžního vstupního pole se shodují v pořadí, v pattern::field
jakém se tyto prvky zobrazují . Každá z hodnot sign
, , symbol
value
a buď none
nebo space
musí být zobrazena přesně jednou. none
Hodnota se nesmí zobrazit jako první. Hodnota space
se nesmí zobrazovat jako první nebo poslední. Pokud Intl
je pravda, pořadí je symbol
, sign
none
, pak value
.
Verze šablony moneypunct< CharType, Intl >
vrácení {money_base::symbol, money_base::sign, money_base::value, money_base::none}
.
Příklad
Podívejte se na příklad neg_format, kde je virtuální členová funkce volána neg_format
.
moneypunct::d o_negative_sign
Chráněná virtuální členská funkce, která je volána k vrácení sekvence prvků specifických pro národní prostředí, která se použije jako symbol záporného znaménka.
virtual string_type do_negative_sign() const;
Návratová hodnota
Sekvence prvků specifických pro národní prostředí, která se má použít jako záporné znaménko.
Příklad
Podívejte se na příklad negative_sign, kde je virtuální členová funkce volána negative_sign
.
moneypunct::d o_pos_format
Chráněná virtuální členská funkce, která je volána k vrácení pravidla specifického pro národní prostředí pro formátování výstupů s kladnými částkami.
virtual pattern do_pos_format() const;
Návratová hodnota
Chráněná virtuální členová funkce vrátí pravidlo specifické pro národní prostředí pro určení, jak vygenerovat peněžní výstupní pole pro kladnou částku. (Také určuje, jak se mají shodovat s komponentami pole peněžního vstupu.) Kódování je stejné jako pro do_neg_format.
Verze šablony moneypunct< CharType, Inputlterator >
vrácení { money_base::symbol, money_base::sign, money_base::value, money_base::none }
.
Příklad
Podívejte se na příklad pos_format, kde je virtuální členová funkce volána pos_format
.
moneypunct::d o_positive_sign
Chráněná virtuální členová funkce, která vrací sekvenci prvků specifických pro národní prostředí, která se použije jako kladné znaménko.
virtual string_type do_positive_sign() const;
Návratová hodnota
Sekvence prvků specifických pro národní prostředí, která se má použít jako kladné znaménko.
Příklad
Podívejte se na příklad positive_sign, kde je virtuální členová funkce volána positive_sign
.
moneypunct::d o_thousands_sep
Chráněná virtuální členová funkce, která vrací prvek specifický pro národní prostředí, který se použije jako oddělovač skupin vlevo od libovolné desetinné čárky.
virtual CharType do_thousands_sep() const;
Návratová hodnota
Prvek specifický pro národní prostředí, který se použije jako oddělovač skupiny vlevo od libovolné desetinné čárky.
Příklad
Podívejte se na příklad thousands_sep, kde je virtuální členová funkce volána thousands_sep
.
moneypunct::frac_digits
Vrátí počet číslic specifický pro národní prostředí, který se zobrazí vpravo od každé desetinné čárky.
int frac_digits() const;
Návratová hodnota
Počet číslic specifických pro národní prostředí, které se mají zobrazit napravo od libovolné desetinné čárky.
Poznámky
Členová funkce vrátí do_frac_digits.
Příklad
// moneypunct_frac_digits.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
const moneypunct <char, true> &mpunct =
use_facet <moneypunct <char, true> >(loc);
for (unsigned int i = 0; i <mpunct.grouping( ).length( ); i++ )
{
cout << loc.name( ) << " international grouping:\n the "
<< i <<"th group to the left of the radix character "
<< "is of size " << (int)(mpunct.grouping ( )[i])
<< endl;
}
cout << loc.name( ) << " international frac_digits\n to the right"
<< " of the radix character: "
<< mpunct.frac_digits ( ) << endl << endl;
const moneypunct <char, false> &mpunct2 =
use_facet <moneypunct <char, false> >(loc);
for (unsigned int i = 0; i <mpunct2.grouping( ).length( ); i++ )
{
cout << loc.name( ) << " domestic grouping:\n the "
<< i <<"th group to the left of the radix character "
<< "is of size " << (int)(mpunct2.grouping ( )[i])
<< endl;
}
cout << loc.name( ) << " domestic frac_digits\n to the right"
<< " of the radix character: "
<< mpunct2.frac_digits ( ) << endl << endl;
}
German_Germany.1252 international grouping:
the 0th group to the left of the radix character is of size 3
German_Germany.1252 international frac_digits
to the right of the radix character: 2
German_Germany.1252 domestic grouping:
the 0th group to the left of the radix character is of size 3
German_Germany.1252 domestic frac_digits
to the right of the radix character: 2
moneypunct::grouping
Vrátí pravidlo specifické pro národní prostředí určující způsob seskupení číslic nalevo od desetinné čárky.
string grouping() const;
Návratová hodnota
Pravidlo specifické pro národní prostředí pro určení způsobu seskupení číslic vlevo od libovolné desetinné čárky.
Poznámky
Členová funkce vrátí do_grouping.
Příklad
// moneypunct_grouping.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
const moneypunct <char, true> &mpunct =
use_facet <moneypunct <char, true> >( loc );
for (unsigned int i = 0; i <mpunct.grouping( ).length( ); i++ )
{
cout << loc.name( ) << " international grouping:\n the "
<< i <<"th group to the left of the radix character "
<< "is of size " << (int)(mpunct.grouping ( )[i])
<< endl;
}
cout << loc.name( ) << " international frac_digits\n to the right"
<< " of the radix character: "
<< mpunct.frac_digits ( ) << endl << endl;
const moneypunct <char, false> &mpunct2 =
use_facet <moneypunct <char, false> >( loc );
for (unsigned int i = 0; i <mpunct2.grouping( ).length( ); i++ )
{
cout << loc.name( ) << " domestic grouping:\n the "
<< i <<"th group to the left of the radix character "
<< "is of size " << (int)(mpunct2.grouping ( )[i])
<< endl;
}
cout << loc.name( ) << " domestic frac_digits\n to the right"
<< " of the radix character: "
<< mpunct2.frac_digits ( ) << endl << endl;
}
German_Germany.1252 international grouping:
the 0th group to the left of the radix character is of size 3
German_Germany.1252 international frac_digits
to the right of the radix character: 2
German_Germany.1252 domestic grouping:
the 0th group to the left of the radix character is of size 3
German_Germany.1252 domestic frac_digits
to the right of the radix character: 2
moneypunct::moneypunct
Konstruktor objektů typu moneypunct
.
explicit moneypunct(size_t _Refs = 0);
Parametry
_Refs
Celočíselná hodnota použitá k určení typu správy paměti pro objekt.
Poznámky
Možné hodnoty pro parametr _Refs a jejich významnost jsou:
0: Životnost objektu je spravována národními prostředími, které ho obsahují.
1: Životnost objektu musí být spravována ručně.
> 1: Tyto hodnoty nejsou definovány.
Nejsou možné žádné přímé příklady, protože destruktor je chráněn.
Konstruktor inicializuje svůj základní objekt s locale::facet(_ Refs).
moneypunct::neg_format
Vrátí pravidlo specifické pro národní prostředí pro formátování výstupů se zápornými částkami.
pattern neg_format() const;
Návratová hodnota
Pravidlo specifické pro národní prostředí pro formátování výstupů s zápornými částkami.
Poznámky
Členová funkce vrátí do_neg_format.
Příklad
// moneypunct_neg_format.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( ) {
locale loc( "german_germany" );
const moneypunct <char, true> &mpunct =
use_facet <moneypunct <char, true > >(loc);
cout << loc.name( ) << " international negative number format: "
<< mpunct.neg_format( ).field[0]
<< mpunct.neg_format( ).field[1]
<< mpunct.neg_format( ).field[2]
<< mpunct.neg_format( ).field[3] << endl;
const moneypunct <char, false> &mpunct2 =
use_facet <moneypunct <char, false> >(loc);
cout << loc.name( ) << " domestic negative number format: "
<< mpunct2.neg_format( ).field[0]
<< mpunct2.neg_format( ).field[1]
<< mpunct2.neg_format( ).field[2]
<< mpunct2.neg_format( ).field[3] << endl;
}
moneypunct::negative_sign
Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol záporného znaménka.
string_type negative_sign() const;
Návratová hodnota
Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol záporného znaménka.
Poznámky
Členová funkce vrátí do_negative_sign.
Příklad
// moneypunct_neg_sign.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
const moneypunct <char, true> &mpunct =
use_facet <moneypunct <char, true> >(loc);
cout << loc.name( ) << " international negative sign: "
<< mpunct.negative_sign( ) << endl;
const moneypunct <char, false> &mpunct2 =
use_facet <moneypunct <char, false> >(loc);
cout << loc.name( ) << " domestic negative sign: "
<< mpunct2.negative_sign( ) << endl;
locale loc2( "French" );
const moneypunct <char, true> &mpunct3 =
use_facet <moneypunct <char, true> >(loc2);
cout << loc2.name( ) << " international negative sign: "
<< mpunct3.negative_sign( ) << endl;
const moneypunct <char, false> &mpunct4 =
use_facet <moneypunct <char, false> >(loc2);
cout << loc2.name( ) << " domestic negative sign: "
<< mpunct4.negative_sign( ) << endl;
};
German_Germany.1252 international negative sign: -
German_Germany.1252 domestic negative sign: -
French_France.1252 international negative sign: -
French_France.1252 domestic negative sign: -
moneypunct::p os_format
Vrátí pravidlo specifické pro národní prostředí pro formátování výstupů s kladnými částkami.
pattern pos_format() const;
Návratová hodnota
Pravidlo specifické pro národní prostředí pro formátování výstupů s kladnými objemy.
Poznámky
Členová funkce vrátí do_pos_format.
Příklad
// moneypunct_pos_format.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main() {
locale loc( "german_germany" );
const moneypunct <char, true> &mpunct =
use_facet <moneypunct <char, true> >(loc);
cout << loc.name( ) << " international positive number format: "
<< mpunct.pos_format( ).field[0]
<< mpunct.pos_format( ).field[1]
<< mpunct.pos_format( ).field[2]
<< mpunct.pos_format( ).field[3] << endl;
const moneypunct <char, false> &mpunct2 =
use_facet <moneypunct <char, false> >(loc);
cout << loc.name( ) << " domestic positive number format: "
<< mpunct2.pos_format( ).field[0]
<< mpunct2.pos_format( ).field[1]
<< mpunct2.pos_format( ).field[2]
<< mpunct2.pos_format( ).field[3] << endl;
}
moneypunct::p ositive_sign
Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol kladného znaménka.
string_type positive_sign() const;
Návratová hodnota
Sekvence prvků specifických pro národní prostředí, která se má použít jako symbol kladného znaménka.
Poznámky
Členová funkce vrátí do_positive_sign.
Příklad
// moneypunct_pos_sign.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
const moneypunct <char, true> &mpunct =
use_facet <moneypunct <char, true > >(loc);
cout << loc.name( ) << " international positive sign:"
<< mpunct.positive_sign( ) << endl;
const moneypunct <char, false> &mpunct2 =
use_facet <moneypunct <char, false> >(loc);
cout << loc.name( ) << " domestic positive sign:"
<< mpunct2.positive_sign( ) << endl;
locale loc2( "French" );
const moneypunct <char, true> &mpunct3 =
use_facet <moneypunct <char, true> >(loc2);
cout << loc2.name( ) << " international positive sign:"
<< mpunct3.positive_sign( ) << endl;
const moneypunct <char, false> &mpunct4 =
use_facet <moneypunct <char, false> >(loc2);
cout << loc2.name( ) << " domestic positive sign:"
<< mpunct4.positive_sign( ) << endl;
};
German_Germany.1252 international positive sign:
German_Germany.1252 domestic positive sign:
French_France.1252 international positive sign:
French_France.1252 domestic positive sign:
moneypunct::string_type
Typ, který popisuje řetězec obsahující znaky typu CharType.
typedef basic_string<CharType, Traits, Allocator> string_type;
Poznámky
Typ popisuje specializaci šablony třídy basic_string , jejichž objekty mohou ukládat kopie interpunkčních sekvencí.
moneypunct::thousands_sep
Vrátí sekvenci prvků pro specifické národní prostředí, která se použije jako symbol oddělovače tisíců.
CharType thousands_sep() const;
Návratová hodnota
Sekvence prvků specifických pro národní prostředí, která se má použít jako oddělovač tisíců
Poznámky
Členová funkce vrátí do_thousands_sep.
Příklad
// moneypunct_thou_sep.cpp
// compile with: /EHsc
#include <locale>
#include <iostream>
#include <sstream>
using namespace std;
int main( )
{
locale loc( "german_germany" );
const moneypunct <char, true> &mpunct =
use_facet <moneypunct <char, true > >(loc);
cout << loc.name( ) << " international thousands separator: "
<< mpunct.thousands_sep( ) << endl;
const moneypunct <char, false> &mpunct2 =
use_facet <moneypunct <char, false> >(loc);
cout << loc.name( ) << " domestic thousands separator: "
<< mpunct2.thousands_sep( ) << endl << endl;
locale loc2( "english_canada" );
const moneypunct <char, true> &mpunct3 =
use_facet <moneypunct <char, true> >(loc2);
cout << loc2.name( ) << " international thousands separator: "
<< mpunct3.thousands_sep( ) << endl;
const moneypunct <char, false> &mpunct4 =
use_facet <moneypunct <char, false> >(loc2);
cout << loc2.name( ) << " domestic thousands separator: "
<< mpunct4.thousands_sep( ) << endl;
}
German_Germany.1252 international thousands separator: .
German_Germany.1252 domestic thousands separator: .
English_Canada.1252 international thousands separator: ,
English_Canada.1252 domestic thousands separator: ,
Viz také
<locale>
Bezpečný přístup z více vláken ve standardní knihovně C++