Espacios de nombres
Variantes

std::numpunct

De cppreference.com
 
 
 
 
<tbody> </tbody>
Definido en el archivo de encabezado <locale>
template< class CharT > class numpunct;

La faceta std::numpunct encapsula las preferencias de puntuación numérica. Las operaciones de E/S de flujo utilizan std::numpunct a std::num_get y std::num_put para analizar la entrada numérica y formatear la salida numérica.

Los números que son compatibles con std::numpunct tienen el formato que se describe a continuación. Aquí digit representa el conjunto de bases especificado por el valor del argumento fmtflags, sep-de-miles y punto-decimal son los resultados de las funciones thousands_sep() y decimal_point() respectivamente. El formato de los valores enteros es el siguiente:

entero     ::= [signo] unidades
signo      ::= másmenos
másmenos   ::= '+' | '-'
unidades   ::= dígitos [sep-de-miles unidades]
dígitos    ::= digit [dígitos]

El número de dígitos entre los sep-de-miles (el tamaño máximo de dígitos) se especifica por el resultado de grouping().

El formato de los valores de punto flotante es el siguiente:

valorflotante    ::= [signo] unidades [punto-decimal [dígitos]] [e [signo] dígitos] |
                     [signo]           punto-decimal  dígitos   [e [signo] dígitos]
e                ::= 'e' | 'E'
cpp/locale/locale/facet

Inheritance diagram

Especializaciones

Se garantiza que la biblioteca estándar proporciona las siguientes especializaciones (cualquier objeto de configuración regional debe implementarlas):

Definido en el archivo de encabezado <locale>
std::numpunct<char> Proporciona equivalentes de las preferencias de configuración regional "C".
std::numpunct<wchar_t> Proporciona equivalentes de caracteres anchos de las preferencias de configuración regional "C".

Tipos anidados

Tipo Definición
char_type CharT
string_type std::basic_string<CharT>

Datos miembro

Miembro Descripción
std::locale::id id [estático] El identificador de la faceta.

Funciones miembro

construye una nueva faceta numpunct
Original:
constructs a new numpunct facet
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública) [editar]
destructs una faceta numpunct
Original:
destructs a numpunct facet
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro protegida) [editar]
Invoca do_decimal_point
Original:
invokes do_decimal_point
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública) [editar]
Invoca do_thousands_sep
Original:
invokes do_thousands_sep
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública) [editar]
Invoca do_grouping
Original:
invokes do_grouping
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro pública) [editar]
Invoca do_truename o do_falsename.
(función miembro pública) [editar]

Funciones miembro protegidas

proporciona el carácter que se utiliza como punto decimal
Original:
provides the character to use as decimal point
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro virtual protegida) [editar]
proporciona el carácter que se utiliza como separador de miles
Original:
provides the character to use as thousands separator
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro virtual protegida) [editar]
[virtual]
proporciona el número de dígitos entre cada par de miles separadores
Original:
provides the numbers of digits between each pair of thousands separators
The text has been machine-translated via Google Translate.
You can help to correct and verify the translation. Click here for instructions.

(función miembro virtual protegida) [editar]
Proporciona la cadena que se utilizará como nombre del booleano true y false.
(función miembro virtual protegida) [editar]

Ejemplo

El siguiente ejemplo cambia las representaciones de cadenas de true y false:

#include <iostream>
#include <locale>

struct spanish_bool : std::numpunct<char>
{
    string_type do_truename() const override { return "verdadero"; }
    string_type do_falsename() const override { return "falso"; }
};

int main()
{
    std::cout << "Configuración regional por defecto: "
              << std::boolalpha << true << ", " << false << '\n';
    std::cout.imbue(std::locale(std::cout.getloc(), new spanish_bool));
    std::cout << "Configuración regional con numpunct modificado: "
              << std::boolalpha << true << ", " << false << '\n';
}

Salida:

Configuración regional por defecto: true, false
Configuración regional con numpunct modificado: verdadero, falso

Informes de defectos

Los siguientes informes de defectos de cambio de comportamiento se aplicaron de manera retroactiva a los estándares de C++ publicados anteriormente.

ID Aplicado a Comportamiento según lo publicado Comportamiento correcto
LWG 338 C++98 El token signo admitía un espacio en blanco opcional después de + o -. Se eliminó el espacio en blanco.

Véase también

Crea una faceta numpunct para la configuración regional denominada.
(plantilla de clase)