Se recomienda usar Visual Studio 2017

moneypunct (Clase)

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

La clase de plantilla describe un objeto que puede actuar como una faceta de configuración regional para describir las secuencias de tipo CharType usadas para representar un campo monetario de entrada o un campo monetario de salida. Si el parámetro de plantilla Intl es true, se respetan las convenciones internacionales.

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.

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 para tener 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

moneypunctConstructor de objetos de tipo moneypunct.

Definiciones de tipo

char_typeTipo que se usa para describir un carácter empleado por una configuración regional.
STRING_TYPETipo que describe una cadena que contiene caracteres de tipo CharType.

Funciones miembro

curr_symbolDevuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de moneda.
decimal_pointDevuelve una secuencia específica de la configuración regional de los elementos que se usan como separador decimal.
do_curr_symbolUna 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_pointUna 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_digitsLa 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_groupingLa 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_formatUna 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_signUna 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_formatUna 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_signUna 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_sepUna 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_digitsDevuelve un recuento específico de la configuración regional de la cantidad de dígitos que se muestran a la derecha del separador decimal.
agrupaciónDevuelve 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_formatDevuelve una regla específica de la configuración regional para dar formato a resultados con cantidades negativas.
negative_signDevuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo negativo.
pos_formatDevuelve una regla específica de la configuración regional para dar formato a resultados con cantidades positivas.
positive_signDevuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de signo positivo.
thousands_sepDevuelve una secuencia específica de la configuración regional de los elementos que se usan como símbolo de separador de miles.

Encabezado:<>>

Espacio de nombres: std

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.

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;  
};  

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 elementos que se va a utilizar como 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 ,  

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 elementos que se va a utilizar como separador decimal.

Ejemplo

Vea el ejemplo de curr_symbol, donde se llama a la función miembro virtual curr_symbol.

Una función miembro virtual protegida que devuelve una secuencia específica de la configuración regional de elementos que se va a utilizar como separador decimal.

virtual CharType do_decimal_point() const;

Valor devuelto

Una secuencia específica de la configuración regional de elementos que se va a utilizar como separador decimal.

Ejemplo

Vea el ejemplo de decimal_point, donde se llama a la función miembro virtual decimal_point.

Una función miembro virtual protegida que devuelve un recuento específico de la configuración regional del número de dígitos que se muestran a la derecha del separador decimal.

virtual int do_frac_digits() const;

Valor devuelto

Un recuento específico de la configuración regional del número de dígitos que se muestran a la derecha del separador decimal.

Ejemplo

Vea el ejemplo de frac_digits, donde se llama a la función miembro virtual frac_digits.

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 del 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 del separador decimal.

Ejemplo

Vea el ejemplo de agrupación, donde se llama a la función miembro virtual agrupación.

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 monetario de salida para una cantidad negativa. Cada uno de los cuatro elementos de pattern::field puede tener los valores:

  • Ninguno coincide con cero o más espacios o generar nada.

  • inicio de sesión para hacer coincidir o generar un signo positivo o negativo.

  • espacio coincide con cero o más espacios o generar un espacio.

  • símbolo para hacer coincidir o generar un símbolo de moneda.

  • valor para hacer coincidir o generar un valor monetario.

Componentes de un campo monetario de salida se generan y se comparan los componentes de un campo monetario de entrada en el orden en que estos elementos aparecen en pattern::field. Cada uno de los valores inicio de sesión, símbolo, valory ninguno o espacio debe aparecer exactamente una vez. El valor ninguno no debe aparecer en primer lugar. El espacio de valor debe no aparecen la primera o última. Si Intl es true, el orden es símbolo, inicio de sesión, ninguno, a continuación, valor.

La versión de la 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 se llama a la función miembro virtual neg_format.

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 elementos que se va a utilizar como un signo negativo.

Ejemplo

Vea el ejemplo de negative_sign, donde se llama a la función miembro virtual negative_sign.

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 monetario de salida para una cantidad positiva. (También determina cómo hacer coincidir los componentes de un campo monetario de entrada.) La codificación es el mismo que para do_neg_format.

La versión de la 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 se llama a la función miembro virtual pos_format.

Una función miembro virtual protegida que devuelve una secuencia específica de la configuración regional de elementos que se va a utilizar como un signo positivo.

virtual string_type do_positive_sign() const;

Valor devuelto

Una secuencia específica de la configuración regional de elementos que se va a utilizar como un signo positivo.

Ejemplo

Vea el ejemplo de positive_sign, donde se llama a la función miembro virtual positive_sign.

Una función miembro virtual protegida que devuelve un elemento específico de la configuración regional a utilizar como separador de grupos a la izquierda del separador decimal.

virtual CharType do_thousands_sep() const;

Valor devuelto

Un elemento de configuración regional a usar como separador de grupos a la izquierda del separador decimal.

Ejemplo

Vea el ejemplo de thousands_sep, donde se llama a la función miembro virtual thousands_sep.

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 del número 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  

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

Constructor de objetos de tipo moneypunct.

explicit moneypunct(size_t _Refs = 0);

Parámetros

_Refs
Valor entero que se utiliza para especificar el tipo de administración de memoria para el objeto.

Comentarios

Los valores posibles de la _Refs parámetro y su importancia son:

  • 0: la duración del objeto administra las configuraciones regionales que lo contienen.

  • 1: se debe administrar manualmente la duración del objeto.

  • >0: no se definen estos valores.

No hay ejemplos directos son posibles, porque está protegido el destructor.

El constructor inicializa su objeto base con locale::facet(_ Refs).

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;  
}  

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

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;  
}  

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 elementos que se va a utilizar 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:  

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 clase de plantilla basic_string cuyos objetos pueden almacenar copias de las secuencias de puntuación.

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 elementos que se usan como miles separador

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: ,  

<>>
Seguridad para subprocesos en la biblioteca estándar de C++

Mostrar: