Функция 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
идентификатор языкового стандарта, указывающий языковой стандарт. Вы можете использовать макрос
- LOCALE_CUSTOM_DEFAULT
- LOCALE_CUSTOM_UI_DEFAULT
- LOCALE_CUSTOM_UNSPECIFIED
- LOCALE_INVARIANT
- LOCALE_SYSTEM_DEFAULT
- LOCALE_USER_DEFAULT
[in] dwFlags
Флаги, управляющие операцией функции. Приложению необходимо задать значение 0, если lpFormat не задано значение NULL. В этом случае функция форматирует строку с помощью переопределения пользователем в формат номера по умолчанию для языкового стандарта. Если lpFormat установлено значение NULL, приложение может указать LOCALE_NOUSEROVERRIDE для форматирования строки с помощью системного формата номера по умолчанию для указанного языкового стандарта.
[in] lpValue
Указатель на строку, завершающуюся значением NULL, содержащую числовую строку для форматирования. Эта строка может содержать только следующие символы. Все остальные символы недопустимы. Функция возвращает ошибку, если строка, указанная lpValue отклоняется от этих правил.
- Символы "0" до "9".
- Одна десятичная точка (точка), если число является значением с плавающей запятой.
- Знак минуса в первой позиции символа, если число является отрицательным значением.
[in, optional] lpFormat
Указатель на структуру NUMBERFMT
[out, optional] lpNumberStr
Указатель на буфер, в котором эта функция извлекает отформатированную строку чисел.
[in] cchNumber
Размер в значениях TCHAR для буфера строк числа, указанного lpNumberStr. Кроме того, приложение может задать для этого параметра значение 0. В этом случае функция возвращает необходимый размер для буфера строки числа и не использует параметр lpNumberStr.
Возвращаемое значение
Возвращает количество значений TCHAR, полученных в буфере, указанное lpNumberStr в случае успешного выполнения. Если для параметра cchNumber задано значение 0, функция возвращает количество символов, необходимых для хранения отформатированного числа, включая завершающий символ NULL.
Функция возвращает значение 0, если она не выполнена. Чтобы получить расширенные сведения об ошибке, приложение может вызывать GetLastError, что может возвращать один из следующих кодов ошибок:
- ERROR_INSUFFICIENT_BUFFER. Указанный размер буфера был недостаточно велик или неправильно задано значение NULL.
- ERROR_INVALID_FLAGS. Значения, предоставленные для флагов, недопустимы.
- ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.
- ERROR_OUTOFMEMORY. Недостаточно хранилища было доступно для выполнения этой операции.
Замечания
Эта функция может извлекать данные из пользовательских языковых стандартов . Данные не гарантированы одинаковыми с компьютера на компьютер или между запусками приложения. Если приложение должно сохранять или передавать данные, см. использованиеданных постоянного языкового стандарта.
Если версия этой функции ANSI используется с идентификатором языкового стандарта юникода, функция может завершиться успешно, так как операционная система использует системную кодовую страницу. Однако символы, которые не определены в системной кодовой странице, отображаются в строке как вопросительный знак (?).
Заметка
Заголовок winnls.h определяет GetNumberFormat как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [только классические приложения] |
минимальный поддерживаемый сервер | Windows 2000 Server [только классические приложения] |
целевая платформа | Виндоус |
заголовка | winnls.h (включая Windows.h) |
библиотеки |
Kernel32.lib |
DLL | Kernel32.dll |
См. также
поддержки национальных языков