Russian Qt Forum
Ноябрь 24, 2024, 06:13
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Общие вопросы
>
Перевод числа в строку по формату.
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Перевод числа в строку по формату. (Прочитано 8646 раз)
andi
Гость
Перевод числа в строку по формату.
«
:
Январь 16, 2007, 08:13 »
Есть десятичное число.
Нужно его вывести в строку в HEX виде. Причем так чтобы впереди присутствовали столько нулей сколько мне надо.
Например число 36. Строка "0024" или "0x0024".
При этом sprintf() использовать нежелательно.
Хочется сразу получить юникод без дополнительных преобразований.
Ничего подходящего среди .arg() не нашел.
Записан
Вячеслав
Гость
Перевод числа в строку по формату.
«
Ответ #1 :
Январь 16, 2007, 09:16 »
А собственно почему мимо sprintf ? и смысл велосипед на 6 колес изобретать ?
Записан
nova
Гость
Перевод числа в строку по формату.
«
Ответ #2 :
Январь 16, 2007, 10:20 »
Как не нашел?
Попробуй так
QString a("0x%1").arg(36,4,16,'0');
Записан
andi
Гость
Перевод числа в строку по формату.
«
Ответ #3 :
Январь 16, 2007, 10:23 »
Очень странное расположение функционала по функциям.
Смысл тогда было делать sprintf только для заполнения пустых полей нулями?
Остальное вроде в arg() есть. Или у arg есть ограничение на количество аргументов?
Меня как раз и настораживают такие костыли ввиде 2-х почти одинаковых функций.
Я так понял преимущество arg только в том, что можно в форматной строке менять порядок аргументов.
Вобщем логику я не просматриваю в применении этих функций.
Буду использовать, что есть. Но если кто поможет разобраться зачем 2 такие похожие функции, буду благодарен.
Записан
Kosh
Гость
Перевод числа в строку по формату.
«
Ответ #4 :
Январь 16, 2007, 10:28 »
У QString есть свой sprintf. работает, как и обычный, только за типами переменных нужно следить. Например,если переменную типа double выводить по формату "%d" фигня полная получается.
Записан
nova
Гость
Перевод числа в строку по формату.
«
Ответ #5 :
Январь 16, 2007, 10:30 »
По поводу sprintf() вдоке написано:
Warning: We do not recommend using QString::sprintf() in new Qt code. Instead, consider using QTextStream or arg(), both of which support Unicode strings seamlessly and are type-safe.
Записан
Tonal
Гость
Перевод числа в строку по формату.
«
Ответ #6 :
Январь 16, 2007, 11:09 »
Я для сложного форматирования Boost.Format использую. ;-)
Записан
andi
Гость
Перевод числа в строку по формату.
«
Ответ #7 :
Январь 16, 2007, 12:33 »
Забыл добавить. Использую qt 3.3.6
Записан
Вудруф
Гость
Перевод числа в строку по формату.
«
Ответ #8 :
Январь 16, 2007, 12:41 »
std::ostringstream
И настройка для стандартных потоков.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...