Russian Qt Forum
Ноябрь 24, 2024, 12:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Преобразовать double в QString c форматированием  (Прочитано 2299 раз)
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
Как правильно сделать?

Записан
Bepec
Гость
« Ответ #1 : Декабрь 29, 2016, 22:00 »

Я б не заморачивался, а убирал нули в конце Веселый Ну это чтоб "быстро".
А так надо справку смотреть Улыбающийся
Записан
Day
Частый гость
***
Offline Offline

Сообщений: 290


Просмотр профиля
« Ответ #2 : Декабрь 30, 2016, 15:21 »

Я б не заморачивался, а убирал нули в конце
Дык, там еще девятки могут оказаться...
Когда-то я решал эту задачу. Еще в Си. Ничего лучше, чем выводить в строку sprintf-ом и ее анализа на серии нулей и девяток не придумал.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.053 секунд. Запросов: 23.