Начало » Использование СУБД » Firebird, HQbird, InterBase » FLOAT (Точность FLOAT)
| FLOAT [сообщение #6288] |
Mon, 23 February 2026 08:46  |
bsa1959
Сообщений: 9 Зарегистрирован: December 2025
|
Junior Member |
|
|
Возникла проблема округления в процедуре FIREBIRD 5.
В таблице есть поле типа FLOAT. Имеет значения от 1.00 до 1.60 через 0.1.
Процедура возвращает нехорошие значения. Т.е. не соответствуют значениям посчитаным вручную.
Прошел под IBEXPERT в отладке.
Вместо 1.00 увидел 1.0139 для этого поля после чтения из таблицы...
Где я не прав?
Хотя по документации:
Тип данных FLOAT по умолчанию представляет собой 32-битный тип с плавающей запятой
одинарной точности с приблизительной точностью 7 десятичных знаков после десятичной
точки (24 двоичных знака). Числа типа FLOAT находятся в диапазоне от 1.175 x 10-38 до 3.402 x
1038.
[Обновления: Mon, 23 February 2026 08:54] Известить модератора
|
|
|
|
|
|
| Re: FLOAT [сообщение #6292 является ответом на сообщение #6291] |
Mon, 23 February 2026 19:21   |
bsa1959
Сообщений: 9 Зарегистрирован: December 2025
|
Junior Member |
|
|
SD писал(а) Mon, 23 February 2026 15:22Ты путаешь точность отдельно взятого числа и точность серии расчётов пачки таких чисел.
Переходи на точные числа, раз у тебя шаг фиксированный.
Вы меня, наверное, не поняли....
я Записал в поле FLOAT 1.100
Почему я на чтении получаю этот результат?
Еще раз повторяю - на ЧТЕНИи. И через ibexpert....
[Обновления: Mon, 23 February 2026 19:23] Известить модератора
|
|
|
|
| Re: FLOAT [сообщение #6293 является ответом на сообщение #6292] |
Mon, 23 February 2026 19:47  |
bsa1959
Сообщений: 9 Зарегистрирован: December 2025
|
Junior Member |
|
|
Ты путаешь точность отдельно взятого числа и точность серии расчётов пачки таких чисел.
Я не путаю... Я нашел поле типа FLOAT которое мне возвращает для меня очень удивительное значение...
И дальше летит к какой то матери все мои расчеты и округления....
|
|
|
|
Переход к форуму:
Текущее время: Tue Feb 24 01:24:47 GMT+3 2026
Общее время, затраченное на создание страницы: 0.01700 секунд
|