Поделиться через


Функция GetNumberFormatEx (winnls.h)

Форматирует числовую строку как числовую строку, настраиваемую для языкового стандарта, указанного по имени.

Заметка Приложение должно вызывать эту функцию в предпочтении GetNumberFormat , если оно предназначено для запуска только в Windows Vista и более поздних версиях.

 
Заметка Эта функция может форматировать данные, которые изменяются между выпусками, например из-за настраиваемого языкового стандарта. Если приложение должно сохранять или передавать данные, см. использованиеданных постоянного языкового стандарта.
 

Синтаксис

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 для форматирования строки с помощью системного формата номера по умолчанию для указанного языкового стандарта.

осторожность использование 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]
целевая платформа Виндоус
Header winnls.h (включая Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

См. также

GetNumberFormat

NUMBERFMT

поддержки национальных языков

функции поддержки национальных языков