【发布时间】:2023-04-09 05:03:01
【问题描述】:
我可以的
locale loc(""); // use default locale
cout.imbue( loc );
cout << << "i: " << int(123456) << " f: " << float(3.14) << "\n";
它会输出:
i: 123.456 f: 3,14
在我的系统上。 (德国窗口)
我想避免使用整数的千位分隔符——我该怎么做?
(我只想要用户默认设置,但没有任何千位分隔符。)
(我的所有found 是如何读取使用use_facet 和numpunct 方面的千位分隔符......但我该如何更改它?)
【问题讨论】:
-
您愿意解决问题,还是我们必须修改千位分隔符?我感觉
printf会以您想要的格式打印,并且在打印之前将其转换为字符串很可能会达到预期的效果。 -
@evanmcdonnal - 我真的想要一个没有解决方法的解决方案,尤其是没有 printf 的解决方案。我只想要用户的默认设置,但没有任何千位分隔符。
-
哭泣,因为 IO 流和语言环境很烂。
-
@DeadMG - 确实如此。尤其是它们的(不)记录方式很糟糕。
标签: c++ visual-c++ locale iostream