std:: numpunct
| 
           
           Défini dans l'en-tête
            
         
            
             <locale>
            
           
           | 
         ||
| 
           
           
            
             template
            
            
             <
            
            
             class
            
            CharT
            
             >
            
             
         class numpunct ;  | 
         ||
       Le facet
       
        std::numpunct
       
       encapsule les préférences de ponctuation numérique. Les opérations de flux d'E/S utilisent
       
        std::numpunct
       
       via
       
        
         std::num_get
        
       
       et
       
        
         std::num_put
        
       
       pour l'analyse des entrées numériques et le formatage des sorties numériques.
      
       Les nombres pris en charge par
       
        std::numpunct
       
       ont le format décrit ci-dessous. Ici,
       
        digit
       
       représente la base spécifiée par la valeur de l'argument
       
        fmtflags
       
       ,
       
        thousands-sep
       
       et
       
        decimal-point
       
       sont respectivement les résultats des fonctions
       
        
         thousands_sep()
        
       
       et
       
        
         decimal_point()
        
       
       .
      
Le format des valeurs entières est le suivant :
integer ::= [signe] unités signe ::= plusmoins plusmoins ::= '+' | '-' unités ::= chiffres [séparateur-milliers unités] chiffres ::= chiffre [chiffres]
       Le nombre de chiffres entre les
       
        thousand-sep
       
       (taille maximale des
       
        digits
       
       ) est spécifié par le résultat de
       
        
         grouping()
        
       
       .
      
Le format des valeurs à virgule flottante est le suivant :
floatval    ::= [signe] unités [point-décimal [chiffres]] [e [signe] chiffres] |
                [signe]        point-décimal  chiffres   [e [signe] chiffres]
e           ::= 'e' | 'E'
       Diagramme d'héritage
         Table des matières | 
       
Spécialisations
La bibliothèque standard garantit la fourniture des spécialisations suivantes (elles sont requises pour être implémentées par tout objet locale ):
| 
          
          Défini dans l'en-tête
           
        
           
            <locale>
           
          
          | 
       |
| std :: numpunct < char > | fournit les équivalents des préférences de locale "C" | 
| std :: numpunct < wchar_t > | fournit les équivalents en caractères larges des préférences de locale "C" | 
Types imbriqués
| Type | Définition | 
         
          char_type
         
         | 
        
         
          CharT
         
         | 
       
         
          string_type
         
         | 
        std:: basic_string < CharT > | 
Membres de données
| Membre | Description | 
         
          
           
            std::locale::id
           
          
         
         
          id
         
         
          [static]
         
         | 
        l'identifiant de la facette | 
Fonctions membres
         construit un nouveau
         
          numpunct
         
         facet
         (fonction membre publique)  | 
       |
         détruit un
         
          numpunct
         
         facet
         (fonction membre protégée)  | 
       |
         invoque
         
          do_decimal_point
         
         (fonction membre publique)  | 
       |
         invoque
         
          do_thousands_sep
         
         (fonction membre publique)  | 
       |
         invoque
         
          do_grouping
         
         (fonction membre publique)  | 
       |
         invoque
         
          do_truename
         
         ou
         
          do_falsename
         
         (fonction membre publique)  | 
       
Fonctions membres protégées
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         fournit le caractère à utiliser comme séparateur décimal
          (fonction membre protégée virtuelle)  | 
       
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         fournit le caractère à utiliser comme séparateur de milliers
          (fonction membre protégée virtuelle)  | 
       
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         fournit le nombre de chiffres entre chaque paire de séparateurs de milliers
          (fonction membre protégée virtuelle)  | 
       
| 
          
           
            
             
              [virtual]
             
            
           
           
          | 
        
         fournit la chaîne à utiliser comme nom pour les valeurs booléennes
         
          
           
            true
           
          
         
         et
         
          
           
            false
           
          
         
          (fonction membre protégée virtuelle)  | 
       
Exemple
L'exemple suivant modifie les représentations textuelles de true et false :
#include <iostream> #include <locale> struct french_bool : std::numpunct<char> { string_type do_truename() const override { return "vrai"; } string_type do_falsename() const override { return "faux"; } }; int main() { std::cout << "default locale: " << std::boolalpha << true << ", " << false << '\n'; std::cout.imbue(std::locale(std::cout.getloc(), new french_bool)); std::cout << "locale with modified numpunct: " << std::boolalpha << true << ", " << false << '\n'; }
Sortie :
default locale: true, false locale with modified numpunct: vrai, faux
Rapports de défauts
Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.
| DR | Appliqué à | Comportement publié | Comportement corrigé | 
|---|---|---|---|
| LWG 338 | C++98 | 
         le jeton
         
          sign
         
         autorisait un espace facultatif après
         
          +
         
         ou
         
          -
         
         | 
        supprimé l'espace | 
Voir aussi
| 
         crée une facette numpunct pour les paramètres régionaux nommés
          (modèle de classe)  |