public member function
<locale>
string_type negative_sign() const;
Return negative sign string
Returns the string used to represent the indicate a monetary value is negative.
Internally, this function simply calls the virtual protected member do_negative_sign, which for the standard specializations returns the proper string.
Return value
The string used to represent the negative sign.
An empty string signals no sign for negative monetary values.
Member type string_type is a basic_string type with the same character type as the facet (defined as an alias of basic_string<charT>
, where charT
is moneypunct's first template parameter).
Example
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
// moneypunct example
#include <iostream> // std::cout
#include <locale> // std::locale, std::moneypunct, std::use_facet
// overload inserter to print patterns:
std::ostream& operator<< (std::ostream& os, std::moneypunct<char>::pattern p)
{
for (int i=0; i<4; i++)
switch (p.field[i]) {
case std::moneypunct<char>::none: std::cout << "none "; break;
case std::moneypunct<char>::space: std::cout << "space "; break;
case std::moneypunct<char>::symbol: std::cout << "symbol "; break;
case std::moneypunct<char>::sign: std::cout << "sign "; break;
case std::moneypunct<char>::value: std::cout << "value "; break;
}
return os;
}
int main ()
{
std::locale mylocale;
const std::moneypunct<char>& mp = std::use_facet<std::moneypunct<char> >(mylocale);
std::cout << "moneypunct in locale \"" << mylocale.name() << "\":\n";
std::cout << "decimal_point: " << mp.decimal_point() << '\n';
std::cout << "thousands_sep: " << mp.thousands_sep() << '\n';
std::cout << "grouping: " << mp.grouping() << '\n';
std::cout << "curr_symbol: " << mp.curr_symbol() << '\n';
std::cout << "positive_sign: " << mp.positive_sign() << '\n';
std::cout << "negative_sign: " << mp.negative_sign() << '\n';
std::cout << "frac_digits: " << mp.frac_digits() << '\n';
std::cout << "pos_format: " << mp.pos_format() << '\n';
std::cout << "neg_format: " << mp.neg_format() << '\n';
return 0;
}
|
Possible output:
moneypunct in locale "C":
decimal_point:
thousands_sep:
grouping:
curr_symbol:
positive_sign:
negative_sign: -
frac_digits: 0
pos_format: symbol sign none value
neg_format: symbol sign none value
|
Data races
The facet is accessed.
Exception safety
Strong guarantee: No side effects in case an exception is thrown.