PDA

Просмотр полной версии : Аномалия текстового ввода. Переменная типа REAL, подключена к полю "текстовый ввод".



Денис Сухарев
24.03.2023, 14:25
Добрый день.

Столкнулся со странным поведением переменной типа REAL.
Одна переменная подключена к полю текстового ввода а другая к полю инкремента.
Версия системы - MS 4D v1.2

Ввожу в поле ввода цифру 4
По коду программы значение переменной приращения должно увеличится до данного значения 4 или больше, а значение останавливается на 3.99999999...

С чем может быть связана данная странность?

66728

b_aleks2
24.03.2023, 14:51
Добрый день.

Столкнулся со странным поведением поля текстового ввода с привязанной переменной типа REAL.
Версия системы - MS 4D v1.2

Ввожу в поле ввода цифру 4
В подключенную переменную типа REAL записывается значение 3.99999999...

С чем может быть связана данная странность?

Надо использовать LREAL

melky
25.03.2023, 18:55
b_aleks2 REAL не ограничен значением 4, зачем тут LREAL ?

учитывая, что в 3.99ххххх есть еще знаки то и показывает 4 округляя. может где-то выставлено количество знаков после запятой в настройках ?

Валенок
26.03.2023, 00:22
Если там тип - REAL (float32) то отображаемое значение в этом типе непредставляемо в принципе.
Но как обычно представлена какая-то мутная клинопись без исходников.

b_aleks2
27.03.2023, 10:01
Разница между REAL и LREAL
66760

Вводить значения надо не через текстовый ввод, а через инкремент. Текстовый ввод - для текста.

melky
27.03.2023, 10:07
b_aleks2 а если я хочу 4 знака после запятой, это перестанет быть REAL? то есть float по IEEE чего то там?

Вова13
27.03.2023, 11:11
Добрый день.

Столкнулся со странным поведением переменной типа REAL.
Одна переменная подключена к полю текстового ввода а другая к полю инкремента.
Версия системы - MS 4D v1.2

Ввожу в поле ввода цифру 4
По коду программы значение переменной приращения должно увеличится до данного значения 4 или больше, а значение останавливается на 3.99999999...

С чем может быть связана данная странность?

66728

А какая у Вас версия установлена?Если есть возможность обновите.Сейчас вроде бы последняя 1.2.18

Денис Сухарев
31.03.2023, 14:51
Спасибо коллеги!
Не знал, что у Real есть такая особенность с точностью.
На будущее, буду использовать LREAL.
И про инкремент информация пригодилась.
При много благодарен, тема раскрыта полностью.
Вопрос решён.