Namespaces
Variants

std::moneypunct<CharT,International>:: pos_format, do_pos_format, neg_format, do_neg_format

From cppreference.net
헤더 파일에 정의됨 <locale>
public :
pattern pos_format ( ) const ;
(1)
public :
pattern neg_format ( ) const ;
(2)
protected :
virtual pattern do_pos_format ( ) const ;
(3)
protected :
virtual pattern do_neg_format ( ) const ;
(4)
1) 공개 멤버 함수, 가장 파생된 클래스의 do_pos_format 멤버 함수를 호출합니다.
2) Public 멤버 함수, 가장 파생된 클래스의 멤버 함수 do_neg_format 를 호출합니다.
3) 양수 통화 값의 서식을 설명하는 형식 구조체( std::money_base::format 타입)를 반환합니다.
4) 음수 통화 값의 서식을 설명하는 형식 구조체( std::money_base::format 타입)를 반환합니다.

표준 특수화된 std:: moneypunct 는 패턴 { symbol, sign, none, value } 을 반환합니다.

목차

반환값

이 로캘에서 사용되는 서식을 설명하는 std::money_base::format 타입의 객체입니다.

참고 사항

std::money_put 이 양수 값 포맷팅에 pos_format 을 사용하고 음수 값 포맷팅에 neg_format을 사용하는 반면, std::money_get 는 모든 화폐 값 파싱에 neg_format 을 사용합니다: 즉 neg_format pos_format 과 호환된다고 가정합니다.

예제

#include <iomanip>
#include <iostream>
#include <locale>
struct my_punct : std::moneypunct_byname<char, false>
{
    my_punct(const char* name) : moneypunct_byname(name) {}
    pattern do_pos_format() const { return {value, space, symbol, sign}; }
    pattern do_neg_format() const { return {value, space, symbol, sign}; }
};
int main()
{
    std::cout.imbue(std::locale("en_US.utf8"));
    std::cout << "american locale: " << std::showbase
              << std::put_money(12345678.0) << '\n';
    std::cout.imbue(std::locale(std::cout.getloc(), new my_punct("en_US.utf8")));
    std::cout << "locale with modified moneypunct:\n"
              << std::put_money(12345678.0) << '\n'
              << std::put_money(-12345678.0) << '\n';
}

출력:

american locale: $123,456.78
locale with modified moneypunct:
123,456.78 $
123,456.78 $-

참고 항목

통화 식별자로 사용할 문자열을 제공함
(virtual protected member function)
양수 또는 음수 값을 나타내는 문자열을 제공함
(virtual protected member function)
[virtual]
입력 스트림에서 금전 값을 파싱함
(virtual protected member function of std::money_get<CharT,InputIt> )
[virtual]
금전 값을 형식화하여 출력 스트림에 기록함
(virtual protected member function of std::money_put<CharT,OutputIt> )