moneypunct (Clase)
La clase de plantilla describe un objeto que puede actuar como una faceta de configuración local para describir las secuencias de tipo CharType usadas para representar un campo monetario de entrada o de salida. Si el parámetro de plantilla Intl es true, se respetan las convenciones internacionales.
Sintaxis
template <class CharType, bool Intl>
class moneypunct;
Parámetros
CharType
Tipo usado dentro de un programa para codificar caracteres.
Intl
Una marca que especifica si las convenciones internacionales deben respetarse.
Comentarios
Como ocurre con cualquier faceta de configuración regional, el identificador de objeto estático tiene un valor almacenado inicial de cero. El primer intento de acceso a su valor almacenado almacena un valor positivo único en id.
El objeto estático constante intl almacena el valor del parámetro de plantilla Intl.
Constructores
Constructor | Descripción |
---|---|
moneypunct | Constructor de objetos de tipo moneypunct . |
Typedefs
Nombre de tipo | Descripción |
---|---|
char_type | Tipo que se usa para describir un carácter empleado por una configuración regional. |
string_type | Tipo que describe una cadena que contiene caracteres de tipo CharType . |
Funciones miembro
Función de miembro | Descripción |
---|---|
curr_symbol | Devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de moneda. |
decimal_point | Devuelve una secuencia específica de la configuración regional de los elementos que se usan como separador decimal. |
do_curr_symbol | Una función miembro virtual protegida que devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de moneda. |
do_decimal_point | Una función miembro virtual protegida a la que se llama para devolver una secuencia específica de la configuración regional de los elementos que se usan como símbolo de separador decimal. |
do_frac_digits | La función miembro virtual protegida devuelve un recuento específico de la configuración regional de la cantidad de dígitos que se muestran a la derecha de cualquier separador decimal. |
do_grouping | La función miembro virtual protegida devuelve una regla específica de la configuración regional para determinar cómo se agrupan los dígitos a la izquierda de cualquier separador decimal. |
do_neg_format | Una función miembro virtual protegida a la que se llama para devolver una regla específica de la configuración regional para dar formato a resultados con cantidades negativas. |
do_negative_sign | Una función miembro virtual protegida a la que se llama para devolver una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo negativo. |
do_pos_format | Una función miembro virtual protegida a la que se llama para devolver una regla específica de la configuración regional para dar formato a resultados con cantidades positivas. |
do_positive_sign | Una función miembro virtual protegida a la que se llama para devolver una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo positivo. |
do_thousands_sep | Una función miembro virtual protegida a la que se llama para devolver una secuencia específica de la configuración regional de los elementos que se usan como símbolo de separador de miles. |
frac_digits | Devuelve un recuento específico de la configuración regional de la cantidad de dígitos que se muestran a la derecha del separador decimal. |
grouping | Devuelve una regla específica de la configuración regional para determinar cómo se agrupan los dígitos a la izquierda del separador decimal. |
neg_format | Devuelve una regla específica de la configuración regional para dar formato a resultados con cantidades negativas. |
negative_sign | Devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo negativo. |
pos_format | Devuelve una regla específica de la configuración regional para dar formato a resultados con cantidades positivas. |
positive_sign | Devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo positivo. |
thousands_sep | Devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de separador de miles. |
Requisitos
Encabezado:<locale>
Espacio de nombres: std
moneypunct::char_type
Tipo que se usa para describir un carácter empleado por una configuración regional.
typedef CharType char_type;
Comentarios
El tipo es un sinónimo del parámetro de plantilla CharType.
moneypunct::curr_symbol
Devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de moneda.
string_type curr_symbol() const;
Valor devuelto
Una cadena que contiene el símbolo de moneda.
Comentarios
La función miembro devuelve do_curr_symbol.
Ejemplo
// 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
Devuelve una secuencia específica de la configuración regional de los elementos que se usan como separador decimal.
CharType decimal_point() const;
Valor devuelto
Una secuencia específica de la configuración regional de los elementos que se usan como un símbolo de separador decimal.
Comentarios
La función miembro devuelve do_decimal_point.
Ejemplo
// 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
Una función miembro virtual protegida que devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de moneda.
virtual string_type do_curr_symbol() const;
Valor devuelto
Una secuencia específica de la configuración regional de los elementos que se usan como un símbolo de separador decimal.
Ejemplo
Vea el ejemplo de curr_symbol, donde curr_symbol
llama a la función miembro virtual.
moneypunct::d o_decimal_point
Una función miembro virtual protegida que devuelve una secuencia específica de la configuración regional de los elementos que se usan como un símbolo de separador decimal.
virtual CharType do_decimal_point() const;
Valor devuelto
Una secuencia específica de la configuración regional de los elementos que se usan como un símbolo de separador decimal.
Ejemplo
Vea el ejemplo de decimal_point, donde decimal_point
llama a la función miembro virtual.
moneypunct::d o_frac_digits
Una función miembro virtual protegida que devuelve un recuento específico de la configuración regional de la cantidad de dígitos que se muestran a la derecha de cualquier separador decimal.
virtual int do_frac_digits() const;
Valor devuelto
Un recuento específico de la configuración regional de la cantidad de dígitos que se muestran a la derecha del separador decimal.
Ejemplo
Vea el ejemplo de frac_digits, donde frac_digits
llama a la función miembro virtual.
moneypunct::d o_grouping
Una función miembro virtual protegida que devuelve una regla específica de la configuración regional para determinar cómo se agrupan los dígitos a la izquierda de cualquier separador decimal.
virtual string do_grouping() const;
Valor devuelto
Una regla específica de la configuración regional para determinar cómo se agrupan los dígitos a la izquierda de cualquier separador decimal.
Ejemplo
Consulte el ejemplo de grouping, donde grouping
llama a la función miembro virtual.
moneypunct::d o_neg_format
Una función miembro virtual protegida a la que se llama para devolver una regla específica de la configuración regional para dar formato a resultados con cantidades negativas.
virtual pattern do_neg_format() const;
Valor devuelto
La función miembro virtual protegida devuelve una regla específica de la configuración regional para determinar cómo generar un campo de salida monetario para una cantidad negativa. Cada uno de los cuatro elementos de pattern::field
puede tener los valores:
none
para buscar cero o más espacios o no generar nada.sign
para buscar o generar un signo positivo o negativo.space
para buscar cero o más espacios o generar un espacio.symbol
para buscar o generar un símbolo de moneda.value
para buscar o generar un valor monetario.
Se generan los componentes de un campo de salida monetario y los componentes de un campo de entrada monetario se hacen coincidir en el orden en el que estos elementos aparecen en pattern::field
. Cada uno de los valores sign
, symbol
, value
, y none
o space
deben aparecer exactamente una vez. El valor none
no debe aparecer en primer lugar. El valor space
no debe aparecer en primer lugar. Si Intl
es true, el orden es symbol
, sign
, none
y, a continuación value
.
La versión de plantilla de moneypunct< CharType, Intl >
devuelve {money_base::symbol, money_base::sign, money_base::value, money_base::none}
.
Ejemplo
Vea el ejemplo de neg_format, donde neg_format
llama a la función miembro virtual.
moneypunct::d o_negative_sign
Una función miembro virtual protegida a la que se llama para devolver una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo negativo.
virtual string_type do_negative_sign() const;
Valor devuelto
Una secuencia específica de la configuración regional de los elementos que se usan como signo negativo.
Ejemplo
Vea el ejemplo de negative_sign, donde negative_sign
llama a la función miembro virtual.
moneypunct::d o_pos_format
Una función miembro virtual protegida a la que se llama para devolver una regla específica de la configuración regional para dar formato a resultados con cantidades positivas.
virtual pattern do_pos_format() const;
Valor devuelto
La función miembro virtual protegida devuelve una regla específica de la configuración regional para determinar cómo generar un campo de salida monetario para una cantidad positiva. (También determina cómo hacer coincidir los componentes de un campo de entrada monetario). La codificación es la misma que para do_neg_format.
La versión de plantilla de moneypunct< CharType, Inputlterator >
devuelve { money_base::symbol, money_base::sign, money_base::value, money_base::none }
.
Ejemplo
Vea el ejemplo de pos_format, donde pos_format
llama a la función miembro virtual.
moneypunct::d o_positive_sign
Una función miembro virtual protegida que devuelve una secuencia específica de la configuración regional de los elementos que se usan como signo positivo.
virtual string_type do_positive_sign() const;
Valor devuelto
Una secuencia específica de la configuración regional de los elementos que se usan como signo positivo.
Ejemplo
Vea el ejemplo de positive_sign, donde positive_sign
llama a la función miembro virtual.
moneypunct::d o_thousands_sep
Una función miembro virtual protegida que devuelve un elemento específico de la configuración regional que se va a usar como un separador de grupo a la izquierda de cualquier separador decimal.
virtual CharType do_thousands_sep() const;
Valor devuelto
Un elemento específico de la configuración regional que se va a usar como un separador de grupo a la izquierda de cualquier separador decimal.
Ejemplo
Vea el ejemplo de thousands_sep, donde thousands_sep
llama a la función miembro virtual.
moneypunct::frac_digits
Devuelve un recuento específico de la configuración regional de la cantidad de dígitos que se muestran a la derecha del separador decimal.
int frac_digits() const;
Valor devuelto
Un recuento específico de la configuración regional de la cantidad de dígitos que se muestran a la derecha del separador decimal.
Comentarios
La función miembro devuelve do_frac_digits.
Ejemplo
// 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
Devuelve una regla específica de la configuración regional para determinar cómo se agrupan los dígitos a la izquierda del separador decimal.
string grouping() const;
Valor devuelto
Una regla específica de la configuración regional para determinar cómo se agrupan los dígitos a la izquierda de cualquier separador decimal.
Comentarios
La función miembro devuelve do_grouping.
Ejemplo
// 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
Constructor de objetos de tipo moneypunct
.
explicit moneypunct(size_t _Refs = 0);
Parámetros
_Refs
Valor entero que se usa para especificar el tipo de administración de memoria del objeto.
Comentarios
Los valores posibles del parámetro _Refs y su importancia son:
0: la vigencia del objeto se administra mediante las configuraciones regionales que lo contienen.
1: la vigencia del objeto se debe administrar de manera manual.
> 1: estos valores no están definidos.
No es posible mostrar ejemplos directos, porque el destructor está protegido.
El constructor inicializa su objeto base con locale::facet(_ Refs).
moneypunct::neg_format
Devuelve una regla específica de la configuración regional para dar formato a resultados con cantidades negativas.
pattern neg_format() const;
Valor devuelto
Una regla específica de la configuración regional para dar formato a resultados con cantidades negativas.
Comentarios
La función miembro devuelve do_neg_format.
Ejemplo
// 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
Devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo negativo.
string_type negative_sign() const;
Valor devuelto
Devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo negativo.
Comentarios
La función miembro devuelve do_negative_sign.
Ejemplo
// 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
Devuelve una regla específica de la configuración regional para dar formato a resultados con cantidades positivas.
pattern pos_format() const;
Valor devuelto
Una regla específica de la configuración regional para dar formato a resultados con cantidades positivas.
Comentarios
La función miembro devuelve do_pos_format.
Ejemplo
// 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
Devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo positivo.
string_type positive_sign() const;
Valor devuelto
Una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo positivo.
Comentarios
La función miembro devuelve do_positive_sign.
Ejemplo
// 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
Un tipo que describe una cadena que contiene caracteres de tipo CharType.
typedef basic_string<CharType, Traits, Allocator> string_type;
Comentarios
El tipo describe una especialización de la plantilla de clase basic_string cuyos objetos pueden almacenar copias de las secuencias de puntuación.
moneypunct::thousands_sep
Devuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de separador de miles.
CharType thousands_sep() const;
Valor devuelto
Una secuencia específica de la configuración regional de los elementos que se usan como separador de miles.
Comentarios
La función miembro devuelve do_thousands_sep.
Ejemplo
// 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: ,
Vea también
<locale>
Seguridad para subprocesos en la biblioteca estándar de C++