postgresql и double precision, неправильная точность получаемых данных |
Здравствуйте, гость ( Вход | Регистрация )
postgresql и double precision, неправильная точность получаемых данных |
Digger86 |
15.2.2013, 18:18
Сообщение
#1
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 27.6.2012 Пользователь №: 3436 Спасибо сказали: 0 раз(а) Репутация: 0 |
Есть база данных postgresql (7.4) и Qt (4.6.4).
Делаю запрос к базе данных с целью получить значение типа double presicion. Результат получается с точностью 4 знака после запятой, хотя в БД содержится число с 8 знаками после запятой. Где можно указать точность, с которой считывать из базы? Спасибо. |
|
|
Digger86 |
21.2.2013, 11:26
Сообщение
#2
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 27.6.2012 Пользователь №: 3436 Спасибо сказали: 0 раз(а) Репутация: 0 |
C базой версии 8.4 происходит аналогичное.
Причём не обязательно выводится 4 знака после запятой. Исправить ситуацию можно преобразованием в запросе типа на текстовый: select double_value::text from table Но это какой-то костыль.. |
|
|
Digger86 |
21.2.2013, 16:24
Сообщение
#3
|
Студент Группа: Новичок Сообщений: 17 Регистрация: 27.6.2012 Пользователь №: 3436 Спасибо сказали: 0 раз(а) Репутация: 0 |
Проблема оказалась в преобразовании типа double в QString. При печати через qDebug(), double преобразуется в строку методом по умолчанию, который оставляет малое кол-во знаков после запятой.
|
|
|
Алексей1153 |
22.2.2013, 6:22
Сообщение
#4
|
фрилансер Группа: Участник Сообщений: 2939 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
Digger86, точность не связана с количеством знаков после запятой. Если что
|
|
|
Текстовая версия | Сейчас: 18.4.2024, 3:48 |