Вопрос по локализации Topic is solved

Это русская секция форума wxWidjets. В этой секции вы можете обсуждать любые вопросы, связанные с wxWidgets на вашем родном языке.
Post Reply
Gera555
Knows some wx things
Knows some wx things
Posts: 42
Joined: Mon Aug 02, 2010 11:49 am
Location: Ukraine, Odessa

Вопрос по локализации

Post by Gera555 » Mon Aug 16, 2010 10:06 am

В объекте у меня хранятся данные о координатах. И я вывожу их в таблицу:
wxString temp;
temp.Printf("(%f;%f)",it->second.get_coordinates().first, it->second.get_coordinates().second);

Так вот, до записи в строку у меня, например:
33.456; 45.7869
а в строке:
33,456; 45,7869.

Как сделать так, чтобы в строку записывалось тоже с точкой.
std::locale::global(std::locale("")); не помогает. Хотя я думаю это из-за того, что я не использую std::string.

Проблема как бы заключается даже не в этом куске, а в том что я записываю данные в XML(тоже с запятой). А потом считываю JavaScript'ом. В нем считывается строкой, а при приведении типов оставляет только целую часть. Потому что не считает ',' разделителем double. Я временно в JavaScript справился с этим работая со строкой, но боюсь, что если это запустят на машине с другими настройками, то вся конструкция не запуститься.

borr_1
Super wx Problem Solver
Super wx Problem Solver
Posts: 362
Joined: Wed Mar 07, 2007 8:10 am
Location: Russia, Shakhty

Post by borr_1 » Mon Aug 16, 2010 10:21 am

Code: Select all

temp.Printf("(%0.2f;%0.2f)",a,b);
WinXP SP3, wx-2.8.10, MinGW-4.4.1, gdb-7.1.2, eclipse

tan
Moderator
Moderator
Posts: 1471
Joined: Tue Nov 14, 2006 7:58 am
Location: Saint-Petersburg, Russia

Post by tan » Mon Aug 16, 2010 10:26 am

А не пробовал

Code: Select all

        setlocale(LC_NUMERIC, "C");
?
OS: Windows XP Pro
Compiler: MSVC++ 7.1
wxWidgets: 2.8.10

Gera555
Knows some wx things
Knows some wx things
Posts: 42
Joined: Mon Aug 02, 2010 11:49 am
Location: Ukraine, Odessa

Post by Gera555 » Mon Aug 16, 2010 11:19 am

tan

Большое спасибо. Сработало!

Post Reply