Дата, сообщения и валюта должны быть отформатированы в пользовательских настройках по умолчанию, но цифры должны быть проанализированы и напечатаны в языке «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);
Это правильный способ установить такую локаль? Это выглядит несколько громоздко. Кроме того, есть ли причина / случай / использование в настройке локали как через C setlocale()
, так и через CPP std::locale::global()
?