ANSI C++도 Java 처럼 천단위 콤마 찍기를 지원합니다.
표준 라이브러리의 locale 클래스를 사용하면 됩니다.
std::string sep_thousands(double f)
{
using namespace std;
const char *locale_name =
#ifdef WINDOWS
"korean";
#endif
ostringstream oss;
oss.imbue(locale(locale_name));
oss << f;
return oss.str();
}
로케일을 한국어나 영어로 설정하면 자동으로 천단위 컴마 찍기가 됩니다.
(소숫점 이하는 찍히지 않습니다.)
만약 독일어로 설정하면 컴마(,) 대신 피리어드(.)가 찍힙니다.
출처 : http://kldp.org/node/38269
'프로그래밍 > c++' 카테고리의 다른 글
RTTI(Run-Time Type Information) (0) | 2013.07.23 |
---|---|
USES_CONVERSION (0) | 2013.06.20 |
디버깅시 유용한 파일 이름, 라인 넘버, 함수이름 남기기 (0) | 2013.05.29 |
rand() 함수의 문제점을 극복한 알고리즘 (0) | 2013.04.29 |
어셈블리어 __nop() 의 용도. (0) | 2013.04.29 |