powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Округление типов
9 сообщений из 9, страница 1 из 1
Округление типов
    #33443140
TAURUS_iv43
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело в том, что для коректной работы мне нужно хранить число с двойной точностью (8 байт), Есть тип данных REAL, который позволяет это сделать, но какой в нём смысл если PostgreSQL округляет всё что я записываю в этот столбец? Например, при записи 123.456789 получаем 123.457
Как от этого избавиться?
...
Рейтинг: 0 / 0
Округление типов
    #33443169
raul_83
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FLOAT8
...
Рейтинг: 0 / 0
Округление типов
    #33443172
TAURUS_iv43
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я пробовал, но дело в том что, точность всёравно не равна сишному doubl'у. Кстати, может кто знает заодно и как хранить unsgned long int?
...
Рейтинг: 0 / 0
Округление типов
    #33443180
TAURUS_iv43
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчёт не той точности, я имел ввиду, что например число
12312312312312.12312312312
хранится в типе double как 12312312312312.123047 а в таблице оно же хранится в научном виде:
1.231231e+13
если преобразовать назад, то точность получаеться вобще никакая, а мне надо чтоб в таблице число хранилось по аналогу сишного double
...
Рейтинг: 0 / 0
Округление типов
    #33443251
фффф
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TAURUS_iv43Насчёт не той точности, я имел ввиду, что например число
12312312312312.12312312312
хранится в типе double как 12312312312312.123047 а в таблице оно же хранится в научном виде:
1.231231e+13
если преобразовать назад, то точность получаеться вобще никакая, а мне надо чтоб в таблице число хранилось по аналогу сишного double
Чего-то тут не то. Не может в 8-байтном IEEE double храниться с 20 значимыми разрядами (максимум 16). Но и 7 разрядов - мало. Возможно расчет производится с точностью real, а возможно просто неверно отображается на клиенте.
Если надо гарантированную точность - следует использовать numeric/decimal. Но они медленнее считаются.
...
Рейтинг: 0 / 0
Округление типов
    #33443424
Funny_Falcon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
create table flt
( f float);

insert into flt values( 1 . 234567890123456789 );
insert into flt values( 12312312312312 . 12312312312 );

select * from flt;
         flt
----------------------
 1 . 23456789012346 
 12312312312312 . 1 

А в чем проблема то? У меня все пучком. Выбирал в pgAdmin III 1.4.0.
...
Рейтинг: 0 / 0
Округление типов
    #33443427
Funny_Falcon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может это твой клиент брешет?
...
Рейтинг: 0 / 0
Округление типов
    #33450597
Hordi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А почему не использовать numeric(X,Y)
Y - и есть до скольки знаков округлять...
...
Рейтинг: 0 / 0
Округление типов
    #33452142
kolobok0
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Funny_FalconМожет это твой клиент брешет?

поддерживаю мыслю...
для проверки конвертатора клиента - достаточно на серваке попросить тип строку...


с уважением
(круглый)
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Округление типов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]