![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| gorby |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 27.3.2008 Где: Киев Репутация: нет Всего: нет |
Господа, недавно я решил использовать несколько шаблонов из STL.
Зачем придумывать свое, если есть готовое.
И попал в засаду. На двух платформах разный вывод Euros: EUR55.000,55 - in Microsoft Visual C++ 2008 (ожидаемый результат) Euros: 5500055 -- in MinGW-3.3.1 ----------------------------------------------------- Может быть кто-то сталкивался с чем то подобным. И как с этим можно бороться. Спасибо. |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 1 Всего: 41 |
http://www2.roguewave.com/products/whitepa...m?paper=spcint2
http://msdn.microsoft.com/en-us/library/aa479681.aspx http://www.cantrip.org/locale.html http://www.tacc.utexas.edu/services/usergu...ug/sta_9169.htm -------------------- |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
по моему эти строки вообще не стандартизированы, но я чаще видел запись типа de_DE, а не german. В любом случае эти строки implementation defined..
|
|||
|
||||
| Dmi3ev |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1698 Регистрация: 28.11.2007 Репутация: 1 Всего: 41 |
я тоже встречал de_DE. -------------------- |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
http://www.opengroup.org/onlinepubs/009695...xbd_chap08.html
тут пишут вот чего:
так что имхо "german" нифига не по стандарту. -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| gorby |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 27.3.2008 Где: Киев Репутация: нет Всего: нет |
Спасибо за оперативный ответ.
Я сейчас проверю, как это работает. |
|||
|
||||
| gorby |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 27.3.2008 Где: Киев Репутация: нет Всего: нет |
Попробовал поменять строку locale locGerm("german");
на locale locGerm("De_DE"); --------------------------------------------------- результаты исследования Microsoft Visual C++ 2008 на строке locale locGerm("De_DE"); получил Unhandled exception --------------------------------------------------- MinGW-3.3.1 результат без изменений Euros: 5500055 -- in MinGW-3.3.1 --------------------------------------------------- ps. Мне нужно добиться правильного (ожидаемого) результата в среде в MinGW-3.3.1 замена De_DE на de_DE ничего не меняет. |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
нужно: "de_DE"
Еще попробуй en_US, может что изменится. |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
строки не стандартизированы, хочешь корректного поведения при кроссплатформенности - используй макросы
|
|||
|
||||
| gorby |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 27.3.2008 Где: Киев Репутация: нет Всего: нет |
Спасибо за подсказку. Прошу Вас чуть подробнее. (Я полагаю, что знаю что такое макросы) |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
gorby
|
|||
|
||||
| gorby |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 27.3.2008 Где: Киев Репутация: нет Всего: нет |
Я прошу прощения, если кого то ввел в заблуждение неточной формулировкой.
Я написал На двух платформах разный вывод Но, меня интересует ожидаемый результат на одной платформе. MinGW-3.3.1 MS я использовал только для выяснения причин неправильной работы на MinGW-3.3.1 А для нескольких платформ конечно макросы это самое то. |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 15 Всего: 118 |
порыл исходники в VS.
нашел вот чего. собственно сам формат локали у майкрософта судя по всему такой: "язык.страна,кодировка" (см setlocal.c функция __lc_strtolc ) далее вызывается функция __get_qualified_locale, которая по указанной структуре (язык,страна,кодировка) получает собсна локаль (в виде трех WORD-ов, упакованных в структуру)... ...... в общем-то есть такая хрень Microsoft Locale Builder. также я нашел в msdn такую статью: http://msdn.microsoft.com/en-us/library/dd373765(VS.85).aspx есть еще ISO стандарт на колонку "Script tag" оттуда : http://www.unicode.org/iso15924/iso15924-codes.html может быть информация будет полезна Добавлено через 6 минут и 22 секунды http://msdn.microsoft.com/ru-ru/magazine/cc163506.aspx еще инфа по стандартам -------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |