Поле REAL

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
Lenkov
Посетитель
Сообщения: 32
Зарегистрирован: 27 Июнь 2006, 14:56

Поле REAL

Сообщение Lenkov »

C6.3 9056 АВС
В словаре поле базы данных *.TPS было описано как REAL @N10_. Потребовалось изиенить его на REAL @N16_.
И тут начались чудеса. Из проги вводится 16 цифр но две последние округляет (вместо 218 пишет 220)
Если вводить число в это поле в словаре,получается то же самое. А если вводить в пустое поле, вводит только 10 цифр. Что это может быть?
Алексей- Софт-Центр
Ветеран
Сообщения: 390
Зарегистрирован: 26 Август 2009, 12:41
Откуда: Moscow
Контактная информация:

Re: Поле REAL

Сообщение Алексей- Софт-Центр »

Добрый день!
ВСЕ НАПИСАНО В ДОКЕ:

REAL An eight-byte floating point number.

Format: ± exponent significand

| . | ........... | ..................... |
Bits:63 62 52 0
Range: 0, ± 2.225073858507201e-308 .. ± 1.79769313496231e+308
(15 significant digits)

Отсюда и округления.

Алексей
Lenkov
Посетитель
Сообщения: 32
Зарегистрирован: 27 Июнь 2006, 14:56

Re: Поле REAL

Сообщение Lenkov »

Не понял, что же нужно сделать, чтобы округления небыло??
Аватара пользователя
WadimZapara
Активист
Сообщения: 181
Зарегистрирован: 11 Июнь 2008, 12:11
Откуда: Тамбов

Re: Поле REAL

Сообщение WadimZapara »

Вам написали: тип REAL имеет точность только 15 значащих цифр. Шестнадцатую цифру округляет по определению типа.
Вывод:
А) использовать не более 15 знаков
либо
Б) использовать другой тип
Компьютер имеет то преимущество перед мозгом, что им пользуются...
Lenkov
Посетитель
Сообщения: 32
Зарегистрирован: 27 Июнь 2006, 14:56

Re: Поле REAL

Сообщение Lenkov »

Спасибо!
Ответить