Название: локализация для QString::number [решено] Отправлено: daimon от Июня 10, 2011, 22:48 есть число типа 1.12
как заставить QString::number(1.12,'f',6) возвращать строку с числом, где десятичный сепаратор запятая ("1,12")? или проще как заставить QTableWidgetItem c QtableWidget выводить числа по типу функции number (округление), по-умолчанию там стоит тип g, точность 6 (мне эти параметри нужно менять). спс есть самопальная ячейка возвращает QVariant Название: Re: локализация для QString::number Отправлено: alexman от Июня 10, 2011, 23:36 Для отображения числа согласно локали можно сделать так: QString("%L1").arg(1.12, 0, 'f')
Название: Re: локализация для QString::number Отправлено: daimon от Июня 11, 2011, 01:16 Для отображения числа согласно локали можно сделать так: QString("%L1").arg(1.12, 0, 'f') спся попробовал просто метод класса локали toString, так как локаль ещё нужно было настроить - убрать разделители групп Название: Re: локализация для QString::number [решено] Отправлено: ChromVanadium от Июня 11, 2011, 12:54 Когда мне нужно double сделать в текстовую строку с разделителем точкой делаю так:
someString = QString::number(someDoubleNumber,'f',2).replace(",","."); Название: Re: локализация для QString::number [решено] Отправлено: daimon от Июня 11, 2011, 14:16 Когда мне нужно double сделать в текстовую строку с разделителем точкой делаю так: тогда на поставить хитрое условие - ведь бывает запятую на точку нужно меняет, а бывает наоборотsomeString = QString::number(someDoubleNumber,'f',2).replace(",","."); Название: Re: локализация для QString::number [решено] Отправлено: LisandreL от Июня 11, 2011, 15:41 Используйте
QString QLocale::toString ( double i, char f, int prec ) const; от нужной локали. Название: Re: локализация для QString::number [решено] Отправлено: kambala от Июня 11, 2011, 15:51 может кому пригодится - хак для определения текущего разделителя дробной части в системе:
Код
Название: Re: локализация для QString::number [решено] Отправлено: BRE от Июня 11, 2011, 15:59 может кому пригодится - хак для определения текущего разделителя дробной части в системе: Лучше почитать про QLocale. :)Название: Re: локализация для QString::number [решено] Отправлено: daimon от Июня 11, 2011, 18:02 может кому пригодится - хак для определения текущего разделителя дробной части в системе: Код
тут же хитрость состоит в то, чтобы одной строкой передать параметры так в функцию replace, чтобы запятая была на своем месте, а точка на своём, код выше только текущие настройки настройки описывает (то что нужно заменить), а как у зеать на, что. типа если 54, то заменить на 56, если 56, то на 54 (по таблице ASCII) - как-то привязать текущее значение на то, что заменить - формулой может какой-то Название: Re: локализация для QString::number [решено] Отправлено: kambala от Июня 11, 2011, 19:04 если я правильно понял, то ты хочешь вот что:
Код
|