Russian Qt Forum

Qt => Общие вопросы => Тема начата: spectre71 от Июль 23, 2009, 15:22



Название: Кривая конвертация у QLocale?
Отправлено: spectre71 от Июль 23, 2009, 15:22
Делаем:
  double val = 1222333.444;
  QString str = QLocale::c().toString(val, 'g', 16);
Получаем:
str == "1,222,333.444"
Что за фигня? С каких пор в "C" локали есть разделители тысяч!


Название: Re: Кривая конвертация у QLocale?
Отправлено: crackedmind от Июль 23, 2009, 17:37
С тех самых пор, с которых C означает English, United States


Название: Re: Кривая конвертация у QLocale?
Отправлено: spectre71 от Июль 24, 2009, 11:42
С тех самых пор, с которых C означает English, United States
Да, в доке так и написано.
Но с какой стати, это что прикол от троллей? Есть же в конце концов стандарты.
Интересно с каких пор  locale "C" означает English, United States
В locale "C" thousands_sep всегда был равен ""



Название: Re: Кривая конвертация у QLocale?
Отправлено: shadone от Июль 24, 2009, 13:04
http://www.trolltech.com/developer/task-tracker/index_html?method=entry&id=252924


Название: Re: Кривая конвертация у QLocale?
Отправлено: spectre71 от Июль 24, 2009, 13:20
http://www.trolltech.com/developer/task-tracker/index_html?method=entry&id=252924
Да, явно бага!
Ну а как быть с этим:
Цитировать
QLocale::C   1   The "C" locale is identical in behavior to English/UnitedStates.
Ведь кривизна растет отсюда, и эта кривизна задокументирована!


Название: Re: Кривая конвертация у QLocale?
Отправлено: Admin от Июль 24, 2009, 14:10
Привели бы ссылку, где авторитетный источник утверждает отличное от trolltech.


Название: Re: Кривая конвертация у QLocale?
Отправлено: spectre71 от Июль 24, 2009, 14:50
Привели бы ссылку, где авторитетный источник утверждает отличное от trolltech.
Особо рыться не стал, то что первое попалось.
http://darianov.narod.ru/libc-7_docum_unix_prog.htm (http://darianov.narod.ru/libc-7_docum_unix_prog.htm)