|
님 계속 토달듯이 질문을 하는것 같아 지송하군요..
제가 가진 버젼이 4.5버젼이라..
5.0이상의 버젼을 가지고 있지 않습니다..
5.0이상을 구할수 없나요..
즐씨하세요....
김백일.cedar 님이 쓰신 글 :
: 오늘도 음악을 들어며 님이 쓰신 글 :
: : 답변해주셔서 감사합니다..
: : ...
:
: 아래 코드는 1998년 이후의 ANSI C++ 표준을 준수하는 컴파일러에서 컴파일해야 합니다.
:
: : 김백일.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;
: : : }
: : : //---------------------------------------------------------------------------
: : :
: : :
: : :
: : :
|