GetNumberFormat函数将数字字符串格式化为为指定区域设置定制的数字字符串。
int GetNumberFormat(
LCID 【语言环境】, | //要格式化数字字符串的区域设置 |
DWORD 【dwFlags中】, | //位标志来控制功能的操作 |
LPCTSTR 【lpValue】, | //指向输入数字字符串的指针 |
CONST NUMBERFMT 【* lpFormat】, | //指向格式化信息结构的指针 |
LPTSTR 【lpNumberStr】, | //指向输出缓冲区的指针 |
INT 【cchNumber】 | //输出缓冲区的大小 |
); |
参数
【语言环境】
指定要格式化数字字符串的区域设置。如果【lpFormat】为NULL,则该函数根据该区域设置的数字格式对字符串进行格式化。如果【lpFormat】不为NULL,则该函数仅对NUMBERFMT结构中未指定的格式信息使用区域设置(例如,该区域设置的负号字符串值)。
此参数可以是由MAKELCID宏或以下预定义值之一创建的区域设置标识符:
LOCALE_SYSTEM_DEFAULT | 默认系统区域设置。 |
LOCALE_USER_DEFAULT | 默认用户区域设置。 |
【dwFlags中】
包含一个控制功能操作的位标志。如果【lpFormat】非NULL,则此参数必须为零。
如果【lpFormat】为NULL,则可以使用指定语言环境的系统默认数字格式指定LOCALE_NOUSEROVERRIDE标志来格式化字符串;或者您可以使用任何用户替换为语言环境的默认数字格式来指定零格式化字符串
【lpValue】
指向包含要格式化的数字字符串的以null结尾的字符串。
此字符串只能包含以下字符:
*角色0'至'9'
*一个小数点(点)如果数字是一个浮点值
*如果数字为负值,则在第一个字符位置处显示负号
所有其他字符都无效。如果【lpValue】指向的字符串偏离这些规则,该函数将返回错误。
【lpFormat】
指向包含数字格式信息的NUMBERFMT结构。【lpFormat】指向的结构中的所有成员必须包含适当的值。
如果【lpFormat】为NULL,则该函数使用指定语言环境的数字格式。
【lpNumberStr】
指向缓冲区以接收格式化的数字字符串。
【cchNumber】
指定【lpNumberStr】缓冲区的大小(以字节为单位)(ANSI版本)或字符(Unicode版本)。如果【cchNumber】为零,则该函数返回保存格式化数字字符串所需的字节数或字符数,不使用【lpNumberStr】指向的缓冲区。
返回值
如果函数成功,则返回值是写入【lpNumberStr】指向的缓冲区的字节数(ANSI版本)或字符(Unicode版本),或者如果【cchNumber】参数为零,则字节数或字符数需要保存格式化的数字字符串。
如果函数失败,返回值为零。要获取扩展错误信息,请调用GetLastError.GetLastError可能会返回以下错误代码之一:
ERROR_INSUFFICIENT_BUFFER
ERROR_INVALID FLAGS
ERROR_INVALID_PARAMETER
也可以看看