Share via


GetNumberFormatA 함수(winnls.h)

숫자 문자열을 식별자로 지정된 로캘에 대해 사용자 지정된 숫자 문자열로 서식을 지정합니다.

참고 상호 운용성을 위해 Microsoft가 새 로캘에 대한 로캘 식별자 대신 로캘 이름을 사용하도록 마이그레이션하기 때문에 애플리케이션은 GetNumberFormatEx 함수를 GetNumberFormat 에 선호해야 합니다. Windows Vista 이상에서만 실행되는 모든 애플리케이션은 GetNumberFormatEx를 사용해야 합니다.
 

구문

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 매크로를 사용하여 로캘 식별자를 만들거나 다음 미리 정의된 값 중 하나를 사용할 수 있습니다.

[in] dwFlags

함수의 작업을 제어하는 플래그입니다. lpFormatNULL로 설정되지 않은 경우 애플리케이션은 이 매개 변수를 0으로 설정해야 합니다. 이 경우 함수는 사용자 재정의를 사용하여 문자열의 형식을 로캘의 기본 숫자 형식으로 지정합니다. lpFormatNULL로 설정된 경우 애플리케이션은 지정된 로캘에 대한 시스템 기본 번호 형식을 사용하여 문자열의 형식을 지정하는 LOCALE_NOUSEROVERRIDE 지정할 수 있습니다.

주의 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

참고 항목

GetNumberFormatEx

NUMBERFMT

국가 언어 지원

국가 언어 지원 함수