вопрос по типам и работе с длинными числами |
Здравствуйте, гость ( Вход | Регистрация )
вопрос по типам и работе с длинными числами |
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 отдельно дробную часть и там уже все, что после запятой оставить и добавить к целому. |
|
|
Текстовая версия | Сейчас: 22.12.2024, 8:03 |