GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
std::numpunct(3) C++ Standard Libary std::numpunct(3)

std::numpunct - std::numpunct


Defined in header <locale>
template< class CharT >
class numpunct;


The facet std::numpunct encapsulates numeric punctuation preferences. Stream I/O
operations use std::numpunct through std::num_get and std::num_put for parsing
numeric input and formatting numeric output.


The numbers that are supported by std::numpunct have the format described below.
Here digit represents the radix set specified by the fmtflags argument value,
thousands-sep and decimal-point are the results of thousands_sep() and
decimal_point() functions respectively. The format of integer values is as follows:


integer ::= [sign] units
sign ::= plusminus
plusminus ::= '+' | '-'
units ::= digits [thousands-sep units]
digits ::= digit [digits]


The number of digits between the thousand-seps (maximum size of digits) is specified
by the result of grouping().


The format of floating-point values is as follows:


floatval ::= [sign] units [decimal-point [digits]] [e [sign] digits] |
[sign] decimal-point digits [e [sign] digits]
e ::= 'e' | 'E'


std-numpunct-inheritance.svg


Inheritance diagram


Two standalone (locale-independent) specializations are provided by the standard
library:


Defined in header <locale>
std::numpunct<char> provides equivalents of the "C" locale preferences
std::numpunct<wchar_t> provides wide character equivalents of the "C" locale
preferences


In addition, every locale object constructed in a C++ program implements its own
(locale-specific) versions of these specializations.


Member type Definition
char_type charT
string_type std::basic_string<charT>


constructor constructs a new numpunct facet
(public member function)
destructor destructs a numpunct facet
(protected member function)
decimal_point invokes do_decimal_point
(public member function)
thousands_sep invokes do_thousands_sep
(public member function)
grouping invokes do_grouping
(public member function)
truename invokes do_truename or do_falsename
falsename (public member function)


do_decimal_point provides the character to use as decimal point
[virtual] (virtual protected member function)
do_thousands_sep provides the character to use as thousands separator
[virtual] (virtual protected member function)
do_grouping provides the numbers of digits between each pair of thousands
[virtual] separators
(virtual protected member function)
do_truename provides the string to use as the name of the boolean true and
do_falsename false
[virtual] (virtual protected member function)


static std::locale::id id id of the locale
(public member object)


The following example changes the string representations of true and false

// Run this code


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


default locale: true, false
locale with modified numpunct: vrai, faux


numpunct_byname creates a numpunct facet for the named locale
(class template)

2022.07.31 http://cppreference.com

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.