crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> вопрос по типам и работе с длинными числами
kvak
  опции профиля:
сообщение 16.5.2010, 11:24
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 5.5.2010
Пользователь №: 1690

Спасибо сказали: 1 раз(а)




Репутация:   0  


Здравствуйте. Интересуюсь следующим:

После некоторых преобразований у меня получаются числа, целая часть которых
требует long int (8 байтов в моем случае), плюс дробная с точностью до 0.1
Допустим если беру максимальное положительное число, то оно будет такое:
9 223 372 036 854 775 807.9
и мне нужно сделать две вещи:
1. Какая-то переменная, которая его примет
2. Преобразовать его в QString, чтобы потом передать в QLineEdit. Вот незнаю как это сделать.
Конечная цель, чтобы оно было в QLineEdit именно в такой записи, а не в экспоненциальной.
и желательно конечно с пробелом через три числа.
________________
Еще вопрос по типам long double и double. Есть ли информация, какое максимальное целое они хранят.
Как я понял в double не поместится это число.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
azure
  опции профиля:
сообщение 16.5.2010, 12:42
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 60
Регистрация: 24.12.2009
Пользователь №: 1332

Спасибо сказали: 5 раз(а)




Репутация:   0  


double дает вам почти 16 значащих цифр, т.е. для вас этого недостаточно. Попробуйте long double. Учтите, что под виндовс компилятор от микрософта приравнивает лонг дабл к даблу.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 16.5.2010, 18:56
Сообщение #3


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


kvak, может имеет смысл сразу загонять это в QString?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
kvak
  опции профиля:
сообщение 17.5.2010, 8:54
Сообщение #4


Студент
*

Группа: Участник
Сообщений: 51
Регистрация: 5.5.2010
Пользователь №: 1690

Спасибо сказали: 1 раз(а)




Репутация:   0  


Если с помощью setNum перевести в QString передав параметр типа double, то данное число как я понял не помещается в таком виде в double, так как потом в QLineEdit при помощи setText оно записывается в экспоненциальном виде. А long double через setNum не принимается, ошибка пишет компилятор.
А если присвоить из long double в double, то дробная часть сохраняется по идее а уменьшается целая ? Тогда можно перевести в QString отдельно дробную часть и там уже все, что после запятой оставить и добавить к целому.

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 18.4.2024, 10:33