Функция GetNumberFormatEx (winnls.h)
Форматирует числовую строку как числовую строку, настроенную для языкового стандарта, заданного именем.
Синтаксис
int GetNumberFormatEx(
[in, optional] LPCWSTR lpLocaleName,
[in] DWORD dwFlags,
[in] LPCWSTR lpValue,
[in, optional] const NUMBERFMTW *lpFormat,
[out, optional] LPWSTR lpNumberStr,
[in] int cchNumber
);
Параметры
[in, optional] lpLocaleName
Указатель на имя языкового стандарта или одно из следующих предопределенных значений.
[in] dwFlags
Флаги, управляющие работой функции. Приложение должно задать для этого параметра значение 0, если для lpFormat не задано значение NULL. В этом случае функция форматирует строку, используя переопределение пользователем в числовой формат по умолчанию для языкового стандарта. Если для lpFormat задано значение NULL, приложение может указать LOCALE_NOUSEROVERRIDE для форматирования строки с использованием системного числового формата по умолчанию для указанного языкового стандарта.
[in] lpValue
Указатель на строку, завершающуюся значением NULL, содержащую числовую строку для форматирования. Эта строка может содержать только следующие символы. Все остальные символы недопустимы. Функция возвращает ошибку, если строка, обозначенная lpValue , отклоняется от этих правил.
- Символы от "0" до "9".
- Одна десятичная запятая (точка), если число является значением с плавающей запятой.
- Знак минуса в первой позиции символа, если число является отрицательным значением.
[in, optional] lpFormat
Указатель на структуру NUMBERFMT , содержащую сведения о форматировании чисел, для всех членов которых заданы соответствующие значения. Если приложение не задает этому параметру значение NULL, функция использует языковой стандарт только для форматирования сведений, не указанных в структуре, например строкового значения языкового стандарта для знака "минус".
[out, optional] lpNumberStr
Указатель на буфер, в котором эта функция извлекает отформатированную числовую строку. Кроме того, этот параметр содержит значение NULL , если параметр cchNumber имеет значение 0. В этом случае функция возвращает необходимый размер для буфера числовых строк.
[in] cchNumber
Размер (в символах) для буфера числовых строк, указанного lpNumberStr. Кроме того, приложение может задать для этого параметра значение 0. В этом случае функция возвращает необходимый размер для буфера числовых строк и не использует параметр lpNumberStr .
Возвращаемое значение
Возвращает количество символов, полученных в буфере, на который указывает lpNumberStr в случае успешного выполнения. Если параметр cchNumber имеет значение 0, функция возвращает количество символов, необходимое для хранения отформатированных числовых строк, включая завершающий символ NULL.
Функция возвращает значение 0, если не удалось. Чтобы получить расширенные сведения об ошибке, приложение может вызвать Метод GetLastError, который может возвращать один из следующих кодов ошибок:
- ERROR_INSUFFICIENT_BUFFER. Указанный размер буфера был недостаточно велик или для него неправильно задано значение NULL.
- ERROR_INVALID_FLAGS. Значения, указанные для флагов, были недопустимыми.
- ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.
- ERROR_OUTOFMEMORY. Недостаточно места для выполнения этой операции.
Комментарии
Начиная с Windows 8. Если приложение передает языковые теги в эту функцию из пространства имен Windows.Globalization, оно должно сначала преобразовать теги, вызвав ResolveLocaleName.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows Vista [классические приложения | Приложения UWP] |
Минимальная версия сервера | Windows Server 2008 [классические приложения | Приложения UWP] |
Целевая платформа | Windows |
Header | winnls.h (включая Windows.h) |
Библиотека | Kernel32.lib |
DLL | Kernel32.dll |