|
답변해주셔서 감사합니다..
...
김백일.cedar 님이 쓰신 글 :
: 오늘도 음악을 들어며 님이 쓰신 글 :
: : 정수형을 화폐단위(원화)로 바꿀려면 어떻케 해야하죠...
: : 즉 3자리마다 콤마를 넣얼라고 하는데...
:
: 입출력 스트림에 기본(default)으로 적용(imbue)된 로케일(locale)은 "C"입니다.
: 이 상태에서 숫자를 스트림으로 출력하면 3자리마다 콤마가 붙지않습니다.
: 3자리마다 콤마를 붙이려면, 단지 원하는 숫자 포매팅을 지원하는 언어의 로케일을
: imbue시키기만 하면 됩니다.
: 다음은, 출력 문자열 스트림인 ostringstream에 로케일을 imbue한 후
: string으로 변환하고, 이것을 다시 표준 출력 스트림인 cout으로 출력하는 예제입니다.
: (출력만 필요할 경우에는 그냥 cout에 직접 imbue해도 됩니다.)
:
: //---------------------------------------------------------------------------
: #include <iostream>
: #include <sstream>
: #include <string>
: #pragma hdrstop
: #include <locale>
: //---------------------------------------------------------------------------
:
: using namespace std;
:
: int main()
: {
: ostringstream oss;
: locale loc("korean"); // 물론 "english"로 해도 결과는 같습니다.
: oss.imbue(loc);
: oss << fixed << 12345678.4321;
: string formatted_num = oss.str();
: cout << formatted_num << endl;
: return 0;
: }
: //---------------------------------------------------------------------------
:
:
:
:
|