格式化千位分隔符

Format thousands separator

本文关键字:千位 分隔符 格式化      更新时间:2023-10-16

我在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