C에서 콤마가 포함된 회계식 문자열 출력 입니다.
제가 필요해서 찾은 코드(http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=66238720)를 참고하여 음수 표현 부분을 수정하여 작성하였습니다.
제가 필요해서 찾은 코드(http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040101&docId=66238720)를 참고하여 음수 표현 부분을 수정하여 작성하였습니다.
#include <stdio.h> #include <stdlib.h> #include <string.h> void NumberToMoneyString( char acDest[], int nNumber ); int main(int argc, char *argv[]) { char acNumberString[15]; NumberToMoneyString(acNumberString, 10000); printf("%s\n", acNumberString); // 10,000 NumberToMoneyString(acNumberString, -10000); printf("%s\n", acNumberString); // -10,000 system("PAUSE"); return 0; } void NumberToMoneyString( char acDest[], int nNumber ) { char acNumberString[15]; char *pReverse; char *pMoneyString; int nCount, nLength; sprintf(acNumberString, "%d", ((nNumber < 0) ? -nNumber : nNumber)); nLength = strlen( acNumberString ); // pReverse를 acNumberString문자열의 마지막 문자에 위치시킵니다. . pReverse = acNumberString + (nLength - 1); pMoneyString = acDest; // 뒤에서 부터 앞으로 포인터를 이동하면서 복사 nCount = 0; while( nCount < nLength ) { if( nCount !=0 && nCount % 3 == 0 ) *pMoneyString++ = ','; *pMoneyString++ = *pReverse--; nCount++; } // 음수 처리 if ( nNumber < 0 ) *pMoneyString++ = '-'; *pMoneyString = '\0'; // 문자열 뒤집기 strrev( acDest ); }
'I/T > C' 카테고리의 다른 글
유용한 매크로 함수 (1) | 2010.07.07 |
---|---|
구조체 연결 리스트 (Struct Linked List) (0) | 2010.05.07 |
정렬 알고리즘 (Sort Algorithm) - 삽입 정렬 (Insertion Sort) (0) | 2009.11.16 |
정렬 알고리즘 (Sort Algorithm) - 버블 정렬 (Bubble Sort) (0) | 2009.11.16 |
정렬 알고리즘 (Sort Algorithm) - 선택 정렬 (Selection Sort) (0) | 2009.11.16 |