GetNumberFormatA 함수(winnls.h)
숫자 문자열을 식별자로 지정된 로캘에 대해 사용자 지정된 숫자 문자열로 서식을 지정합니다.
구문
int GetNumberFormatA(
[in] LCID Locale,
[in] DWORD dwFlags,
[in] LPCSTR lpValue,
[in, optional] const NUMBERFMTA *lpFormat,
[out, optional] LPSTR lpNumberStr,
[in] int cchNumber
);
매개 변수
[in] Locale
로캘 을 지정하는 로캘 식별자입니다. MAKELCID 매크로를 사용하여 로캘 식별자를 만들거나 다음 미리 정의된 값 중 하나를 사용할 수 있습니다.
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] dwFlags
함수의 작업을 제어하는 플래그입니다. lpFormat이 NULL로 설정되지 않은 경우 애플리케이션은 이 매개 변수를 0으로 설정해야 합니다. 이 경우 함수는 사용자 재정의를 사용하여 문자열의 형식을 로캘의 기본 숫자 형식으로 지정합니다. lpFormat이 NULL로 설정된 경우 애플리케이션은 지정된 로캘에 대한 시스템 기본 번호 형식을 사용하여 문자열의 형식을 지정하는 LOCALE_NOUSEROVERRIDE 지정할 수 있습니다.
[in] lpValue
서식을 지정할 숫자 문자열을 포함하는 null로 끝나는 문자열에 대한 포인터입니다. 이 문자열은 다음 문자만 포함할 수 있습니다. 다른 모든 문자가 잘못되었습니다. 함수는 lpValue로 표시된 문자열이 이러한 규칙에서 벗어나면 오류를 반환합니다.
- 문자 "0"에서 "9".
- 숫자가 부동 소수점 값인 경우 10진수 점(점)입니다.
- 숫자가 음수 값인 경우 첫 번째 문자 위치에서 빼기 기호입니다.
[in, optional] lpFormat
모든 멤버가 적절한 값으로 설정된 숫자 서식 정보를 포함하는 NUMBERFMT 구조체에 대한 포인터입니다. 이 매개 변수가 NULL로 설정되지 않은 경우 함수는 구조체에 지정되지 않은 정보(예: 음수 기호에 대한 로캘별 문자열 값)의 서식 지정에만 로캘을 사용합니다.
[out, optional] lpNumberStr
이 함수가 서식이 지정된 숫자 문자열을 검색하는 버퍼에 대한 포인터입니다.
[in] cchNumber
lpNumberStr로 표시된 숫자 문자열 버퍼의 크기(TCHAR 값)입니다. 또는 애플리케이션에서 이 매개 변수를 0으로 설정할 수 있습니다. 이 경우 함수는 숫자 문자열 버퍼에 필요한 크기를 반환하고 lpNumberStr 매개 변수를 사용하지 않습니다.
반환 값
성공하면 lpNumberStr 로 표시된 버퍼에서 검색된 TCHAR 값의 수를 반환합니다. cchNumber 매개 변수를 0으로 설정하면 함수는 종료 null 문자를 포함하여 형식이 지정된 숫자 문자열을 보유하는 데 필요한 문자 수를 반환합니다.
함수가 성공하지 못하면 0을 반환합니다. 확장된 오류 정보를 가져오기 위해 애플리케이션은 다음 오류 코드 중 하나를 반환할 수 있는 GetLastError를 호출할 수 있습니다.
- ERROR_INSUFFICIENT_BUFFER. 제공된 버퍼 크기가 충분히 크지 않거나 NULL로 잘못 설정되었습니다.
- ERROR_INVALID_FLAGS. 플래그에 제공된 값이 잘못되었습니다.
- ERROR_INVALID_PARAMETER. 매개 변수 값이 잘못되었습니다.
- ERROR_OUTOFMEMORY. 이 작업을 완료하는 데 사용할 수 있는 스토리지가 부족합니다.
설명
이 함수는 사용자 지정 로캘에서 데이터를 검색할 수 있습니다. 데이터가 컴퓨터에서 컴퓨터로 또는 애플리케이션 실행 간에 동일하지는 않습니다. 애플리케이션이 데이터를 유지하거나 전송해야 하는 경우 영구 로캘 데이터 사용을 참조하세요.
이 함수의 ANSI 버전을 유니코드 전용 로캘 식별자와 함께 사용하면 운영 체제에서 시스템 코드 페이지를 사용하기 때문에 함수가 성공할 수 있습니다. 그러나 시스템 코드 페이지에서 정의되지 않은 문자는 문자열에 물음표(?)로 표시됩니다.
참고
winnls.h 헤더는 GETNumberFormat을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 2000 Professional[데스크톱 앱만] |
지원되는 최소 서버 | Windows 2000 Server[데스크톱 앱만] |
대상 플랫폼 | Windows |
헤더 | winnls.h(Windows.h 포함) |
라이브러리 | Kernel32.lib |
DLL | Kernel32.dll |