C, C++/잡기장 | Notebook

[MFC] GetNumberFormat 함수

SEO HOB 2019. 9. 2. 11:26

// 숫자 문자열의 형식

NUMBERFMT sNumberfmt;


sNumberfmt.NumDigits = 6; // 소수점 이하 자리수

sNumberfmt.LeadingZero = 1; // 0인 경우, NumDigits 자리수에 0을 채우지 않음, 0 이외 값인 경우, 0을 채움 (ex. 1.23 NumDigits이 3, LeadingZero가 0이면 1.23으로 표기, LeadingZero가 1이면 1.230으로 표기)

sNumberfmt.Grouping = 0; // 구분할 단위값 (ex. 3인 경우, 1,234,567)

sNumberfmt.lpDecimalSep = _T("."); // 소수점 분리 문자

sNumberfmt.lpThousandSep = _T(""); // 천단위 분리 문자

sNumberfmt.NegativeOrder = 1; // 음수값 표현 방법 (1: default)


const int MAX_LENGTH = 256;

TCHAR tchOutput[MAX_LENGTH];

ZeroMemory(tchOutput, MAX_LENGTH);


CString strOrigin = _T("");

CString strConvert = _T("");


GetNumberFormat(NULL, NULL, strInput, &sNumberfmt, output, MAX_LENGTH);


strOutput = (LPCTSTR)output;

AfxMessageBox(strOutput);