문자열에 콤마 넣기(돈에 콤마넣기)


게임 개발이나 앱 개발할때 돈에 콤마가 들어갔으면 하는 경우가 있는데요,
이럴때 손쉽게 사용할 수 있는 함수가 있어서 소개 할려고 합니다.

기존의 함수에 돈이 음수가 되었을 경우에도 사용할 수 있도록 필터를 하나 더 추가했어요
필요하신분들 가져다 쓰세요^^


[Header]

void addCommaIntoMoney(const long long &iMoney, char *buf);

[Source]

void Services::addCommaIntoMoney(const long long &iMoney, char *buf)
{
std::string szMoney = StringUtils::format("%lld", iMoney);
const char *str = szMoney.c_str();

int len;
int shift;

/* count given string */
len = strlen(str);
shift = -len;

while (*str)
{
char ch = *str++;
*buf++ = ch;
if ( (++shift && (shift % 3) == 0) && (ch != '-'))
{
*buf++ = ',';
}
}

*buf = '\0';
}