return type : CString
2가지 방법
1. for 문으로 직접 만든다
CString CImageTransferSenderSimDlg::ReturnComma(CString arg_buf)
{
CString buf;
int nCount = 0;
for (int i = arg_buf.GetLength()-1; i >= 0; i--)
{
nCount++;
buf = arg_buf[i] + buf;
if ((nCount % 3 == 0) && (i != 0))
{
buf = _T(",") + buf;
}
}
return buf;
}
2. API 함수 (GetNumberFormat()) 사용
CString CImageTransferSenderSimDlg::ReturnComma(CString arg_buf)
{
char buffer[15];
memset(buffer, 0, sizeof(char) * 15);
NUMBERFMT fmt = { 0, 0, 3, ".", ",", 1 };
::GetNumberFormat(NULL, NULL, arg_buf, &fmt, buffer, strlen(arg_buf)+2);
CString buf;
buf = (LPCTSTR)buffer;
return buf;
}
ref :
https://docs.microsoft.com/en-us/windows/win32/api/winnls/ns-winnls-numberfmta
'C++ > 이게 왜 돼 ❔❔❔' 카테고리의 다른 글
[MFC] 다른 클래스에서 다이얼로그의 컨트롤 사용하기 ( 순환참조 피하기 ) (0) | 2022.03.24 |
---|---|
[C++] 간단하게 코드 속도 측정 (0) | 2022.02.23 |
[C++] 현재(시스템) 시간, 날짜 구하기 (0) | 2022.02.23 |
[MFC] 파일 선택 다이얼로그 띄우기 (0) | 2022.02.12 |
[C++] std::numeric_limits<T>::epsilon 사용해서 부동소수점 equlity 비교하기 (0) | 2022.02.11 |
댓글