在 Windows 上使用 c++,
试图设置 swprintf 函数使用的语言环境。
我需要在打印出来的数字中包含千位分隔符。
我尝试了几种选择...
_wsetlocale(LC_NUMERIC, L""); //default locale
还..
_wsetlocale(LC_NUMERIC, L"english");
而且当然..
swprintf(buf, L"%d", 3546);
我还尝试按如下方式显示数字
auto locale = _get_current_locale();
_swprintf_l(buf, L"%d", locale, 3546);
我需要得到千位分隔符,即 3,456
我还放置了一个断点来查看locale
变量的值,它包含lconv
千位分隔符正确设置为的结构,
......但是,swprintf 忽略了它。