我在visual studio 2010中使用mfc在c++中编程。
我住在欧洲,所以我的电脑的区域设置不是美国而是欧洲。
我使用CString的。format函数来打印计算结果,我想在百和千之间添加一个小数点作为分隔符。
例如,我想显示23400而不是23400
是否可以使用%的特定格式或者我必须更改pc的设置?
Thanks for the help
据我所知CString的.Format
不支持这个
我将使用stringstream
来处理格式:
std::ostringstream temp;
temp.imbue(std::locale(""));
temp << 23400;
CString result = temp.str().c_str();
指定一个空字符串作为语言环境的名称,就像我在这里所做的那样,意味着它应该从操作系统中获取语言环境设置。您可以提供一个特定的语言环境名称(例如,如果您想要一个特定的语言环境,无论操作系统是如何配置的):
temp.imbue(std::locale("de")); // German locale
据我所知,这是您正在寻找的。在谷歌上简单搜索一下就能找到答案。顺便说一下,这种类型的印刷(%.2f
)在几乎所有现代语言中都是相当标准的。
"Floating point: %.2fn"
https://msdn.microsoft.com/en-us/library/aa314327 (v = vs.60) . aspx