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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Как перевести double с красивую строку?  (Прочитано 4481 раз)
Caduceus
Гость
« : Сентябрь 12, 2011, 12:53 »

Необходимо число double перевести в строку определенного вида. То есть она должна быть фиксированной известной длины и если не хватает, но забивать пробелами, а если больше, то отсекать дробную часть. После запятой должно быть не больше 2 символов. Есть стандартные функции?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Сентябрь 12, 2011, 13:10 »

QString::number
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
cya-st
Гость
« Ответ #2 : Сентябрь 12, 2011, 17:46 »

Сейчас точно не вспомню, приблизительно так:
Код:
QString("%1").arg(dVal, 0, 'f', 2);
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4744



Просмотр профиля WWW
« Ответ #3 : Сентябрь 12, 2011, 17:50 »

через QString::number() будет короче и понятнее Улыбающийся
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
gorec323
Гость
« Ответ #4 : Сентябрь 12, 2011, 21:47 »

Код:
double d = 3.14;
QString l = QSting::number(d, 'f', 2).leftJustified(7, '.');    // l == "3.14..."
QString r = QSting::number(d, 'f', 2).rightJustified(7, '.');    // r == "...3.14"
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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