home | help
std::lconv(3)		       C++ Standard Libary		   std::lconv(3)

NAME
     std::lconv - std::lconv

Synopsis
	Defined in header <clocale>
	struct lconv;

	The  class  std::lconv contains numeric and monetary formatting rules as
     defined by a
	C locale. Objects of this struct may be obtained  with	std::localeconv.
     The members
	of std::lconv are values of type char and of type char*. Each char* mem-
     ber except
	decimal_point  may be pointing at a null character (that is, at an empty
     C-string).
	The members of type char are all non-negative numbers, any of which  may
     be CHAR_MAX
	if the corresponding value is not available in the current C locale.

Member objects
Non-monetary numeric formatting parameters
	char* decimal_point the character used as the decimal point
			    (public member object)
			    the  character used to separate groups of digits be-
     fore the
	char* thousands_sep decimal point
			    (public member object)
	char* grouping	    a string whose elements indicate the sizes of  digit
     groups
			    (public member object)

Monetary numeric formatting parameters
	char* mon_decimal_point the character used as the decimal point
				(public member object)
				the  character used to separate groups of digits
     before the
	char* mon_thousands_sep decimal point
				(public member object)
	char* mon_grouping	a string whose elements indicate  the  sizes  of
     digit groups
				(public member object)
	char*  positive_sign	 a string used to indicate non-negative monetary
     quantity
				(public member object)
	char* negative_sign	a string  used	to  indicate  negative	monetary
     quantity
				(public member object)

Local monetary numeric formatting parameters
	char*  currency_symbol the symbol used for currency in the current C lo-
     cale
			      (public member object)
			      the number of digits after the  decimal  point  to
     display in a
	char frac_digits      monetary quantity
			      (public member object)
			      1 if currency_symbol is placed before non-negative
     value, 0 if
	char p_cs_precedes    after
			      (public member object)
			      1  if  currency_symbol  is  placed before negative
     value, 0 if
	char n_cs_precedes    after
			      (public member object)
			      indicates the separation of currency_symbol, posi-
     tive_sign,
	char p_sep_by_space   and the non-negative monetary value
			      (public member object)
			      indicates the separation of currency_symbol, nega-
     tive_sign,
	char n_sep_by_space   and the negative monetary value
			      (public member object)
			      indicates the position of positive_sign in a  non-
     negative
	char p_sign_posn      monetary value
			      (public member object)
			      indicates the position of negative_sign in a nega-
     tive monetary
	char n_sign_posn      value
			      (public member object)

International monetary numeric formatting parameters
				the  string  used as international currency name
     in the
	char* int_curr_symbol	current C locale
				(public member object)
				the number of digits after the decimal point  to
     display in
	char int_frac_digits	an international monetary quantity
				(public member object)
	char  int_p_cs_precedes  1 if int_curr_symbol is placed before non-nega-
     tive
	(C++11) 		international monetary value, 0 if after
				(public member object)
	char int_n_cs_precedes	1 if int_curr_symboll is placed before negative
	(C++11) 		international monetary value, 0 if after
				(public member object)
	char int_p_sep_by_space indicates  the	separation  of	int_curr_symbol,
     positive_sign,
	(C++11) 		 and  the  non-negative  international	monetary
     value
				(public member object)
	char int_n_sep_by_space indicates  the	separation  of	int_curr_symbol,
     negative_sign,
	(C++11) 		and the negative international monetary value
				(public member object)
	char  int_p_sign_posn	  indicates  the  position of positive_sign in a
     non-negative
	(C++11) 		international monetary value
				(public member object)
	char int_n_sign_posn	indicates the position	of  negative_sign  in  a
     negative
	(C++11) 		international monetary value
				(public member object)

	The  characters of the C-strings pointed to by grouping and mon_grouping
     are
	interpreted according to their numeric values. When the terminating '\0'
     is
	encountered, the last value seen is assumed to repeat for the  remainder
     of digits.
	If  CHAR_MAX  is encountered, no further digits are grouped. the typical
     grouping of
	three digits at a time is "\003".

	The  values  of  p_sep_by_space,   n_sep_by_space,   int_p_sep_by_space,
     int_n_sep_by_space
	are interpreted as follows:

	0 no space separates the currency symbol and the value
	1 sign sticks to the currency symbol, value is separated by a space
	2 sign sticks to the value. Currency symbol is separated by a space

	The values of p_sign_posn, n_sign_posn, int_p_sign_posn, int_n_sign_posn
     are
	interpreted as follows:

	0  parentheses around the value and the currency symbol are used to rep-
     resent the
	  sign
	1 sign before the value and the currency symbol
	2 sign after the value and the currency symbol
	3 sign before the currency symbol
	4 sign after the currency symbol

Example
     // Run this code

      #include <clocale>
      #include <iostream>

      int main()
      {
	  std::setlocale(LC_ALL, "ja_JP.UTF-8");
	  std::lconv* lc = std::localeconv();
	  std::cout << "Japanese currency symbol: " << lc->currency_symbol
		    << '(' << lc->int_curr_symbol << ")\n";
      }

Output:
      Japanese currency symbol: i?Y(JPY )

See also
	localeconv queries numeric and monetary formatting details of  the  cur-
     rent locale
		   (function)
	numpunct   defines numeric punctuation rules
		   (class template)
		   defines monetary formatting parameters used by std::money_get
     and
	moneypunct std::money_put
		   (class template)
	C documentation for
	lconv

http://cppreference.com 	   2024.06.10			   std::lconv(3)

home | help