Namespaces
Variants

std:: lconv

From cppreference.net
헤더 파일에 정의됨 <clocale>
struct lconv ;

std::lconv 클래스는 C 로캘에 정의된 숫자 및 통화 서식 규칙을 포함합니다. 이 구조체의 객체는 std::localeconv 로 얻을 수 있습니다. std::lconv 의 멤버들은 char 타입과 char * 타입의 값들입니다. decimal_point 를 제외한 각 char * 멤버는 널 문자(즉, 빈 C 문자열)를 가리킬 수 있습니다. char 타입의 멤버들은 모두 음수가 아닌 숫자들이며, 현재 C 로캘에서 해당 값이 사용 불가능한 경우 CHAR_MAX 일 수 있습니다.

목차

멤버 객체

비통화 숫자 형식 지정 매개변수

char* decimal_point
소수점으로 사용되는 문자
(public member object)
char* thousands_sep
소수점 앞의 숫자 그룹을 구분하는 데 사용되는 문자
(public member object)
char* grouping
요소들이 숫자 그룹의 크기를 나타내는 문자열
(public member object)

통화 숫자 형식 매개변수

char* mon_decimal_point
소수점으로 사용되는 문자
(public member object)
char* mon_thousands_sep
소수점 앞의 숫자 그룹을 구분하는 데 사용되는 문자
(public member object)
char* mon_grouping
요소들이 숫자 그룹의 크기를 나타내는 문자열
(public member object)
char* positive_sign
음수가 아닌 금액을 나타내는 데 사용되는 문자열
(public member object)
char* negative_sign
음수 금액을 나타내는 데 사용되는 문자열
(public member object)

지역 통화 숫자 형식 지정 매개변수

char* currency_symbol
현재 C 로캘에서 통화 기호로 사용되는 심볼
(public member object)
char frac_digits
금액량 표시 시 소수점 이하 자릿수
(public member object)
char p_cs_precedes
1 이면 currency_symbol이 양수 값 앞에 위치, 0 이면 뒤에 위치
(public member object)
char n_cs_precedes
1 이면 currency_symbol이 음수 값 앞에 위치, 0 이면 뒤에 위치
(public member object)
char p_sep_by_space
currency_symbol , positive_sign , 그리고 양수 금액 값 사이의 구분 방식을 나타냄
(public member object)
char n_sep_by_space
currency_symbol , negative_sign , 그리고 음수 금액 값 사이의 구분 방식을 나타냄
(public member object)
char p_sign_posn
양수 금액 값에서 positive_sign 의 위치를 나타냄
(public member object)
char n_sign_posn
음수 금액 값에서 negative_sign 의 위치를 나타냄
(public member object)

국제 통화 숫자 형식 지정 매개변수

char* int_curr_symbol
현재 C 로캘에서 국제 통화 이름으로 사용되는 문자열
(public member object)
char int_frac_digits
국제 통화 금액 표시 시 소수점 이하 자릿수
(public member object)
char int_p_cs_precedes
(C++11)
1 int_curr_symbol이 음수가 아닌 국제 통화 금액 앞에 위치하면, 0 뒤에 위치하면
(public member object)
char int_n_cs_precedes
(C++11)
1 int_curr_symbol이 음수 국제 통화 금액 앞에 위치하면, 0 뒤에 위치하면
(public member object)
char int_p_sep_by_space
(C++11)
int_curr_symbol , positive_sign , 그리고 음수가 아닌 국제 통화 금액 사이의 간격을 나타냄
(public member object)
char int_n_sep_by_space
(C++11)
int_curr_symbol , negative_sign , 그리고 음수 국제 통화 금액 사이의 간격을 나타냄
(public member object)
char int_p_sign_posn
(C++11)
음수가 아닌 국제 통화 금액에서 positive_sign 의 위치를 나타냄
(public member object)
char int_n_sign_posn
(C++11)
음수 국제 통화 금액에서 negative_sign 의 위치를 나타냄
(public member object)


grouping mon_grouping 이 가리키는 C-문자열의 문자들은 숫자 값에 따라 해석됩니다. 종결 문자 ' \0 ' 이 발견되면, 마지막으로 확인된 값이 나머지 숫자들에 대해 반복되는 것으로 간주됩니다. CHAR_MAX 가 발견되면, 더 이상의 숫자들은 그룹화되지 않습니다. 일반적인 세 자리마다의 그룹화는 " \003 " 입니다.

p_sep_by_space , n_sep_by_space , int_p_sep_by_space , int_n_sep_by_space 값의 해석은 다음과 같습니다:

0 통화 기호와 값 사이에 공백 없음
1 부호가 통화 기호에 붙고, 값은 공백으로 구분됨
2 부호가 값에 붙음. 통화 기호는 공백으로 구분됨

다음 p_sign_posn , n_sign_posn , int_p_sign_posn , int_n_sign_posn 값들은 다음과 같이 해석됩니다:

0 값과 통화 기호 주위에 괄호를 사용하여 부호를 나타냄
1 값과 통화 기호 앞에 부호 표시
2 값과 통화 기호 뒤에 부호 표시
3 통화 기호 앞에 부호 표시
4 통화 기호 뒤에 부호 표시

예제

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

출력:

Japanese currency symbol: ¥(JPY )

참고 항목

현재 로캘의 숫자 및 통화 형식 세부 정보를 조회합니다
(function)
숫자 구두점 규칙을 정의합니다
(class template)
std::money_get std::money_put 에서 사용하는 통화 형식 매개변수를 정의합니다
(class template)