повысить языковой стандарт — основное использование для преобразования чисел?

Ну, это «странно», но я не могу преобразовать числовые значения в строки, используя boost :: locale (в Microsoft Visual Studio 2010) и лексическое приведение Boost.

int main() {

boost::locale::generator gen;
std::locale::global(std::locale(gen("de_DE")));
std::cout << boost::lexical_cast<double>("1,253") << std::endl;
return 0;
}

В немецком языке знак «,» должен использоваться в качестве десятичного идентификатора. Поэтому выше следует читать «1.253». Однако это не работает (lexical_cast дает исключение) — Использование std::locale::global(std::locale("German_Germany.1252")); действительно работает — однако я хочу использовать портативную систему и не ограничивать себя именами / кодовыми страницами Microsoft.

Как мне использовать boost :: locale или использовать более переносимую локализацию, чем std :: locale?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]