Page 1 of 1

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

Posted: Mon Aug 16, 2010 10:06 am
by Gera555
В объекте у меня хранятся данные о координатах. И я вывожу их в таблицу:
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 справился с этим работая со строкой, но боюсь, что если это запустят на машине с другими настройками, то вся конструкция не запуститься.

Posted: Mon Aug 16, 2010 10:21 am
by borr_1

Code: Select all

temp.Printf("(%0.2f;%0.2f)",a,b);

Posted: Mon Aug 16, 2010 10:26 am
by tan
А не пробовал

Code: Select all

        setlocale(LC_NUMERIC, "C");
?

Posted: Mon Aug 16, 2010 11:19 am
by Gera555
tan

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