Vb6 是否为格式函数使用不同的区域设置?

Vb6 是否为格式函数使用不同的区域设置?,vb6,Vb6,在VB6应用程序中,我必须构建一个包含十进制数的文件,该十进制数必须始终以US格式写入: 1,499.99 但是Format函数会考虑系统设置,在德国系统上会产生此结果:(使用格式字符串,##0.00) 我可以强制Format函数使用不同的设置吗?在格式化消息之前尝试使用SetThreadLocale Str()将始终使用点作为十进制分隔符,但不会使用任何数字分隔符。你会得到“1499.99”而不是“1499.99”。你觉得怎么样 据我所知,无法强制VB6Format()函数忽略系统设置。对不

在VB6应用程序中,我必须构建一个包含十进制数的文件,该十进制数必须始终以US格式写入:

1,499.99
但是
Format
函数会考虑系统设置,在德国系统上会产生此结果:(使用格式字符串
,##0.00


我可以强制
Format
函数使用不同的设置吗?

在格式化消息之前尝试使用SetThreadLocale

Str()
将始终使用点作为十进制分隔符,但不会使用任何数字分隔符。你会得到“1499.99”而不是“1499.99”。你觉得怎么样


据我所知,无法强制VB6
Format()
函数忽略系统设置。

对不起,我误读了Q,我以为用户使用的是FormatMessage。不过,如果format在执行时确实获得了系统本地信息,那么SetThreadLocale应该可以工作。可能VB6在应用程序启动时正在查询区域设置信息,因此SetThreadLocale可能没有帮助。实际上,是OLE DLL从
GetLocaleInfo
缓存这些值,这可以通过挂接
GetLocaleInfo
来实现,这很难看。这就是为什么我不建议将其作为问题的解决方案。
1.499,99