GetCurrencyFormat, GetCurrencyFormatBynum

VB声明
Declare Function GetCurrencyFormat& Lib "kernel32" Alias "GetCurrencyFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, ByVal lpValue As String, lpFormat As CURRENCYFMT, ByVal lpCurrencyStr As String, ByVal cchCurrency As Long) Declare Function GetCurrencyFormatBynum& Lib "kernel32" Alias "GetCurrencyFormatA" (ByVal Locale As Long, ByVal dwFlags As Long, ByVal lpValue As String, ByVal lpFormat As Long, ByVal lpCurrencyStr As String, ByVal cchCurrency As Long)
说明
针对指定的“地方”设置，根据货币格式格式化一个数字
返回值
Long，格式化过后的字串的长度。零表示出错。会将GetLastError设置为下述值之一：ERROR_INSUFFICIENT_BUFFER，ERROR_INVALID_FLAGS，ERROR_INVALID_PARAMETER
参数表
参数 | 类型及说明
Locale | Long，用于决定格式的地方ID。lpFormat参数中指定的任何信息（倘若不是NULL）都优先于特定于地方的信息
dwFlags | Long，如指定了lpFormat，那么该参数应该为零。否则，可设为LOCALE_NOUSEROVERRIDE，强制使用系统地方参数——即使它们已由用户取代
lpValue | String，指定欲格式化的数字。可以只有数位、一个前缀“-”号以及一个小数点
lpFormat | CURRENCYFMT，可设为NULL，使用特定于不同地方的值（用GetCurrencyFormatBynum，则可通过ByVal As Long形式传递这个参数）。否则，可引用一个CURRENCYFMT结构，其中包含所有必要的字段，可填入需要用到的信息
lpCurrencyStr | String，指定一个缓冲区，用于容纳格式化过后的字串。注意事先对字串进行初始化
cchCurrency | Long，lpCurrencyStr缓冲区的长度。如为零，表示函数会返回需要缓冲区的大小
注解
在vb里，如使用一个别名，其中的lpFormat设为NULL，则可以正常使用。CURRENCYFMT结构的正确预初始化非常具有挑战性

Top