Namespaces
Variants

std:: money_put

From cppreference.net
헤더에 정의됨 <locale>
template <

class CharT,
class OutputIt = std:: ostreambuf_iterator < CharT >

> class money_put ;

클래스 std::money_put 는 통화 값을 문자열로 포맷팅하는 규칙을 캡슐화합니다. 표준 I/O 조정자 std::put_money 는 I/O 스트림의 로캘에 있는 std::money_put 패싯을 사용합니다.

cpp/locale/locale/facet std-money put-inheritance.svg

상속 다이어그램

만약 std::money_put 특수화가 표준 라이브러리에서 제공된다는 보장이 없는 경우(아래 참조), 해당 put() do_put() 함수의 동작은 명세된 대로 보장되지 않습니다.

목차

특수화

표준 라이브러리는 다음과 같은 특수화를 제공함을 보장합니다 (이들은 모든 locale 객체에 의해 구현되어야 하는 요구사항 입니다):

헤더 파일에 정의됨 <locale>
std :: money_put < char > 화폐 값의 좁은 문자열 표현을 생성함
std :: money_put < wchar_t > 화폐 값의 넓은 문자열 표현을 생성함

또한, 표준 라이브러리는 다음 타입 요구사항을 충족하는 모든 특수화를 제공하는 것도 보장됩니다:

중첩 타입

유형 정의
char_type CharT
string_type std:: basic_string < CharT >
iter_type OutputIt

데이터 멤버

멤버 설명
std::locale::id id [static] facet 의 식별자

멤버 함수

새로운 money_put 패싯을 생성함
(public member function)
do_put 을 호출함
(public member function)

보호된 멤버 함수

money_put 패싯을 파괴함
(protected member function)
[virtual]
금전 값을 형식화하고 출력 스트림에 기록함
(virtual protected member function)

예제

#include <iomanip>
#include <iostream>
#include <iterator>
#include <locale>
int main()
{
    // I/O 조정자 사용
    std::cout.imbue(std::locale("en_US.UTF-8"));
    std::cout << "American locale: "
              << std::showbase << std::put_money(12345678.9) << '\n';
    // 패싯 직접 사용
    std::cout.imbue(std::locale("de_DE.UTF-8"));
    std::cout << "German locale: ";
    auto& f = std::use_facet<std::money_put<char>>(std::cout.getloc());
    f.put({std::cout}, false, std::cout, std::cout.fill(), 12345678.9);
    std::cout << '\n';
}

출력:

American locale: $123,456.79
German locale: 123.456,79 €

결함 보고서

다음 동작 변경 결함 보고서는 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 427 C++98 money_put 은 모든 CharT 를 수용하도록 보장됨
(iostream 구성 요소가 인스턴스화될 수 있는
모든 문자 요구사항을 충족하는 경우)
char ,
wchar_t 및 다른 구현 정의
문자 타입만 수용하도록 보장
LWG 2392 C++98 문자 타입 CharT 만이
money_put 에 의해 수용될 수 있음이 보장됨
구현 정의 문자 컨테이너 타입도
수용할 수 있음이 보장될 수 있음

참고 항목

std::money_get std::money_put 에서 사용되는 통화 서식 매개변수를 정의함
(클래스 템플릿)
입력 문자 시퀀스에서 통화 값을 구문 분석하고 구성함
(클래스 템플릿)
(C++11)
통화 값을 서식화하고 출력함
(함수 템플릿)