Russian Qt Forum

Qt => Вопросы новичков => Тема начата: arhiv6 от Декабрь 29, 2016, 21:18



Название: Преобразовать double в QString c форматированием
Отправлено: arhiv6 от Декабрь 29, 2016, 21:18
Добрый день. Столкнулся с просто задачей, и чего-то нормально не могу ничего придумать...
Требуется из double получить QString. Если дробная часть длинная - показать её, но не больше 6 символов. Если дробная часть короче или отсутствует - нули в конце не показывать.
Чего хочу:
12.123456789 -> "12.123456"
12.010000000 -> "12.01"
12.000000000 -> "12"
Пробовал:
QString().sprintf("%.6lf", value);  выводит 12.123456  12.010000  12.000000
QString().sprintf("%.6lg", value); выводит 12.1235  12.01  12
Как правильно сделать?



Название: Re: Преобразовать double в QString c форматированием
Отправлено: Bepec от Декабрь 29, 2016, 22:00
Я б не заморачивался, а убирал нули в конце :D Ну это чтоб "быстро".
А так надо справку смотреть :)


Название: Re: Преобразовать double в QString c форматированием
Отправлено: Day от Декабрь 30, 2016, 15:21
Я б не заморачивался, а убирал нули в конце
Дык, там еще девятки могут оказаться...
Когда-то я решал эту задачу. Еще в Си. Ничего лучше, чем выводить в строку sprintf-ом и ее анализа на серии нулей и девяток не придумал.