GetNumberFormat (Windows CE 5.0)

Windows CE 5.0
Send Feedback

This function formats a number string as a number string customized for a specified locale.

int GetNumberFormat(
  LCID Locale, 
  DWORD dwFlags, 
  LPCTSTR lpValue, 
  const NUMBERFMT* lpFormat, 
  LPTSTR lpNumberStr, 
  int cchNumber 


[in] Value that specifies the locale for which the number string is to be formatted. If lpFormat is NULL, the function formats the string according to the number format for this locale. If lpFormat is not NULL, the function uses the locale only for formatting information not specified in the NUMBERFMT structure (for example, the locale's string value for the negative sign).

This parameter can be a locale identifier created by the MAKELCID macro, or one of the following predefined values. The following table shows the values this parameter can take.

LOCALE_SYSTEM_DEFAULTDefault system locale.
LOCALE_USER_DEFAULTDefault user locale.
LOCALE_NEUTRALDefault language-neutral locale.
[in] Bit flag that controls the operation of the function. If lpFormat is non-NULL, this parameter must be zero.

If lpFormat is NULL, you can specify the LOCALE_NOUSEROVERRIDE flag to format the string using the system default number format for the specified locale; or you can specify zero to format the string using any user overrides to the locale's default number format.

[in] Pointer to a null-terminated string that contains the number string to format.

This string can only contain the following characters:

  • Characters '0' through '9'
  • One decimal point (dot) if the number is a floating-point value
  • A minus sign in the first character position if the number is a negative value

All other characters are invalid. The function returns an error if the string pointed to by lpValue deviates from these rules.

[in] Pointer to a NUMBERFMT structure that contains number formatting information. All members in the structure pointed to by lpFormat must contain appropriate values.

If lpFormat is NULL, the function uses the number format of the specified locale.

[out] Pointer to a buffer to receive the formatted number string.
[in] Size, in characters, of the lpNumberStr buffer. If cchNumber is zero, the function returns the number of characters required to hold the formatted number string, and the buffer pointed to by lpNumberStr is not used.

Return Values

The number of characters written to the buffer pointed to by lpNumberStr, or, if the cchNumber parameter is zero, the number of characters required to hold the formatted number string indicates success. The count includes the terminating null. Zero indicates failure. To get extended error information, call the GetLastError function. The following table shows possible return values for GetLastError.

ERROR_INSUFFICIENT_BUFFERThe data area passed to a system call is too small.
ERROR_INVALID FLAGSThe flags are invalid.
ERROR_INVALID_PARAMETERThe parameter is incorrect.


For more information about locales and LCID, see National Language support (NLS) Locale Identifiers.


OS Versions: Windows CE .NET 4.0 and later.
Header: Winnls.h.
Link Library: Coreloc.lib.

See Also

National Language support (NLS) Locale Identifiers | GetCurrencyFormat | NUMBERFMT | MAKELCID

Send Feedback on this topic to the authors

Feedback FAQs

© 2006 Microsoft Corporation. All rights reserved.