我正在 Visual Studio 2010 中使用 MFC 进行 C++ 编程。
我住在欧洲,所以我的电脑区域设置不是美国而是欧洲。
我使用CString的.Format函数来打印计算结果,我想添加一个小数点作为百位和千位之间的分隔符。
例如,我想显示 23.400 而不是 23400
是否可以使用特定的%格式或者我必须更改电脑的设置?
感谢您的帮助
最佳答案
据我所知,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
关于c++ - 设置千位分隔符格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40635929/