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::money_get(3) C++ Standard Libary std::money_get(3)

std::money_get - std::money_get


Defined in header <locale>
template<


class CharT,
class InputIt = std::istreambuf_iterator<CharT>


> class money_get;


Class template std::money_get encapsulates the rules for parsing monetary values
from character streams. The standard I/O manipulator std::get_money uses the
std::money_get facet of the I/O stream's locale.


std-money get-inheritance.svg


Inheritance diagram


-
InputIt must meet the requirements of LegacyInputIterator.


Two standalone (locale-independent) full specializations and two partial
specializations are provided by the standard library:


Defined in header <locale>
std::money_get<char> parses narrow string representations of monetary
values
std::money_get<wchar_t> parses wide string representations of monetary
values
std::money_get<char, InputIt> parses narrow string representations of monetary
values using custom input iterator
std::money_get<wchar_t, InputIt> parses wide string representations of monetary
values using custom input iterator


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>
iter_type InputIt


constructor constructs a new money_get facet
(public member function)
destructor destructs a money_get facet
(protected member function)
get invokes do_get
(public member function)


do_get parses a monetary value from an input stream
[virtual] (virtual protected member function)


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

// Run this code


#include <iostream>
#include <sstream>
#include <locale>
#include <iomanip>
#include <iterator>
int main()
{
std::string str = "$1.11 $2.22 $3.33";
std::cout << std::fixed << std::setprecision(2);


std::cout << '"' << str << "\" parsed with the I/O manipulator: ";
std::istringstream s1(str);
s1.imbue(std::locale("en_US.UTF-8"));
long double val;
while(s1 >> std::get_money(val))
std::cout << val/100 << ' ';
std::cout << '\n';


str = "USD 1,234.56";
std::cout << '"' << str << "\" parsed with the facet directly: ";
std::istringstream s2(str);
s2.imbue(std::locale("en_US.UTF-8"));
auto& f = std::use_facet<std::money_get<char>>(s2.getloc());
std::ios_base::iostate err;
std::istreambuf_iterator<char> beg(s2), end;
f.get(beg, end, true, s2, err, val);
std::cout << val/100 << '\n';
}


"$1.11 $2.22 $3.33" parsed with the I/O manipulator: 1.11 2.22 3.33
"USD 1,234.56" parsed with the facet directly: 1234.56


defines monetary formatting parameters used by std::money_get and
moneypunct std::money_put
(class template)
money_put formats a monetary value for output as a character sequence
(class template)
get_money parses a monetary value
(C++11) (function 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.