LINUX.ORG.RU

[c++] Парсер математических выражений с нормальной поддержкой локали

 


0

1

Нужен быстрый парсер математических выражений. Нашёл muParser. Там даже есть поддержка локали, но она работает не совсем как мне надо.

Там есть разделитель дробной и целой части ('.' у америкосов, ',' у нас) и разделитель тысяч (" у америкосов, ' ' у нас). Так вот, мне нужно, чтобы при переключении локали парсера, он сам конвертировал хранящееся в нём выражение. Скажем, при переключении локали парсера с русской на американскую выражение типа «123 456,12*z» само менялось на «123456.12*z».

Нужно мне это затем, чтобы чтобы была возможность сохранения выражения в файл с последующей его загрузкой вне зависимостри от локали.

Есть ли что-нибудь готовое, или придётся писать свою обёртку для muParser (с очевидными методами типа string unifiedExpression() const и void loadFromUnifiedExpression(const string &exp)?

★★★★★

Последнее исправление: Obey-Kun (всего исправлений: 1)

разница матлокалей это зло. насильственно заставляй юзера юзать LANG=C хотя бы

anonymous
()
Ответ на: комментарий от anonymous

Знаю, английский был только в школе и на первом курсе. Да и на первом курсе я забивал как-то.

Obey-Kun ★★★★★
() автор топика
Ответ на: комментарий от Obey-Kun

Блин, перечитал ещё раз, сколько ж ошибок наделал... Но больше половины — опечатки.

Obey-Kun ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.