c++ - 将语言环境设置为用户首选的语言环境,除了 std::locale::numeric
问题描述
日期、消息和货币应在用户默认设置中格式化,但数字应在“C”语言环境中解析和打印。这就是我们现在的做法:
setlocale(LC_NUMERIC, "C");
//
// this is supposed to set the current locale but C locale for numeric and messages. See https://msdn.microsoft.com/de-de/library/1w3527e2.aspx
std::locale loc(std::locale::empty());
std::locale loc1(loc, std::locale::classic(), std::locale::numeric);
std::locale::global(loc1);
这是设置这种语言环境的正确方法吗?看起来有些麻烦。setlocale()
此外,通过 C和 CPP设置语言环境是否有理由/案例/用途std::locale::global()
?
解决方案
推荐阅读
- javascript - TS2345:类型的通用参数不可分配给 Typescript 4.4 中的类型参数
- javascript - 在动态 url 上注册 service worker
- php - 如果使用 PHP 找到唯一 ID,则更新 Google 表格中的四列
- jenkins - 如何从 groovy 中当前包的上一层导入 - 详解
- css - 如何通过过渡元素在 CSS 中创建进度条
- google-chrome - 允许 HTTP Web 应用程序打开自定义协议而不总是提示
- javascript - 如何在 Mongodb 中展开数组对象
- python - 无法在 tkinter 中将条目值更改为整数
- groovy - 为 JIRA 中的 Insight 加载项加载 InboundReferencedBeans
- java - 有没有办法检查来自 JPA 查询的字符串是否是有效的自定义枚举?