powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / типы данных с плавающей точкой. БАГ?
12 сообщений из 12, страница 1 из 1
типы данных с плавающей точкой. БАГ?
    #33278344
Фотография ГАГН 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
какой бы ни задавал тип данных для колонки (REAL, FLOAT4, FLOAT8),
при вставке чисел с двумя, тремя и более десятичными значениями,
система ведёт себя крайне странно - дописывает "от себя" цифры
например, можно вставить 45.113, а сохраненное число получится 45.11300012
(или что-то около того)

причём, это не видно при простой выборке данных, а видно, если сделать
дамп таблицы и посмотреть файл...
либо если сделать SELECT float_field-45.113 (вместо законного 0 (вставлял-то
я 45.113) будет что-нибудь вроде -1.03759765579525e-06)

это что такое?

версия 7.4.1
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33278367
Фотография XM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГАГН 2 wrote:
> какой бы ни задавал тип данных для колонки (REAL, FLOAT4, FLOAT8),
> при вставке чисел с двумя, тремя и более десятичными значениями,
> система ведёт себя крайне странно - дописывает "от себя" цифры
> например, можно вставить 45.113, а сохраненное число получится 45.11300012
> (или что-то около того)
>
> причём, это не видно при простой выборке данных, а видно, если сделать
> дамп таблицы и посмотреть файл...
> либо если сделать SELECT float_field-45.113 (вместо законного 0 (вставлял-то
> я 45.113) будет что-нибудь вроде -1.03759765579525e-06)
>
> это что такое?
>

Дык это стандартный баг для float типов в Си
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33278577
Фотография ГАГН 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
и чё делать?
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33278637
Фотография XM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГАГН 2 wrote:
> и чё делать?

Либо забить на точность, либо использовать тип NUMERIC
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33278971
Фотография ГАГН 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XMЛибо забить на точность, либо использовать тип NUMERIC


ясно
просто есть ряд задач, где забить на точность нельзя.
в данном случае возникли проблемы с отрицательными значениями остатков
на складах, коих быть не должно (списали ровно столько, сколько было, а ХП
в остатки попыталось загнать маленькое отрицательное значение, и программа
сбойнула)
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33279169
ilejn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ГАГН 2 XMЛибо забить на точность, либо использовать тип NUMERIC


ясно
просто есть ряд задач, где забить на точность нельзя.
в данном случае возникли проблемы с отрицательными значениями остатков
на складах)


Идея использования типа с плавающей точкой
для хранения остатков представляется довольно абсурдной.
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33279209
ВВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilejn
Идея использования типа с плавающей точкой
для хранения остатков представляется довольно абсурдной.

вы меня пугаете... пояснить свою мысль не хотите?
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33279257
ilejn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вв ilejn
Идея использования типа с плавающей точкой
для хранения остатков представляется довольно абсурдной.

вы меня пугаете... пояснить свою мысль не хотите?

Собственно, ее отлично поясняет весь это thread.

На самом деле, я имел ввиду недопустимость применения
чисел с плавающей точкой для хранения величин, которые
в реальной жизни являются целыми (количество на складе
некоторых предметов). Если учет ведется не по штуками,
а, например, по весу, то есть над чем подумать. Я бы, вероятно,
использовал NUMERIC.

Оценка точности при вычислениях с плавающей
точкой является отдельной и довольно непростой
задачей.
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33279286
ГАГН 2 возникли проблемы с отрицательными значениями остатков
на складах, коих быть не должно (списали ровно столько, сколько было, а ХП
в остатки попыталось загнать маленькое отрицательное значение, и программа
сбойнула)если лениво - напиши трихер бифоре, округляющий поле (до некоего знака) при вставке/обновлении. - от двоичности представления (и сопутствующих расхождений в далеких разрядах) для любого значения не уйдешь, но в окрестности "почти двоичных цифирек" - как к примеру тот же ноль будет все путем. Т.е. констрайнт пропустит (если поименовать округляющий триггер начальнее по алфавиту, чем триггер констрайнта). Вот только не уверен, не придеца ли сделать "КОНСТРАЙНТ ТРИХЕР" (чтобы запустить в очередь).
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33279853
Kartas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вариантов масса. можно вообще хранить в виде целого помноженного на 10 в степени необходимой точности или нумериком. или ещё как
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33280260
Фотография ГАГН 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ilejnНа самом деле, я имел ввиду недопустимость применения
чисел с плавающей точкой для хранения величин, которые
в реальной жизни являются целыми (количество на складе
некоторых предметов).
в реальной жизни эти величины могут быть как целыми (шт.), так и
дробными (кг, см. куб., и т.п.), так как есть параметр "единица измерения"

ilejn
Если учет ведется не по штуками,
а, например, по весу, то есть над чем подумать. Я бы, вероятно,
использовал NUMERIC.
учёт ведётся по всему, у каждого материала своя (как уже упоминалось) единица измерения.
вероятно, мы сейчас также будем задумываться... 8)

ilejn
Оценка точности при вычислениях с плавающей
точкой является отдельной и довольно непростой
задачей.

да уж! 8)
...
Рейтинг: 0 / 0
типы данных с плавающей точкой. БАГ?
    #33280265
Фотография ГАГН 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а вообще - всем спасибо, разобрались!
а то ребята уже хотели обновлять версию СУБД :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / типы данных с плавающей точкой. БАГ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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