Уважаемые знатоки не могу понять
PROGRAM PLC_PRG
VAR
A:REAL:=100.1;
B:REAL:=100.0;
C: REAL;
END_VAR
C:=A-B;
почему С=9.999847e-002 а не 0.1.
Уважаемые знатоки не могу понять
PROGRAM PLC_PRG
VAR
A:REAL:=100.1;
B:REAL:=100.0;
C: REAL;
END_VAR
C:=A-B;
почему С=9.999847e-002 а не 0.1.
Неплохая статья с примерами на тему вычислений с плавающей точкой:
https://docs.microsoft.com/ru-ru/off...culations-info
Связь со мной: telegram: @JuneSmellsLikeBlood | e-mail: e.kislov@owen.ru (личка на форуме - не подходит)
Раздел CDS V3.5 на сайте | Основные темы по CDS V3.5 на форуме: Вопросы и ответы | Визуализация | Настройка обмена с другими устройствами
Repository Archive V3.5 SP4 (необходим для СПК207/СПК1хх без Eth/ПЛК3xx)
oscat.ru | Как обратиться в техподдержку? | Как отлаживать ошибки | Отладка проектов в CODESYS V3.5 | Проблема XY | Как правильно задавать вопросы | AnyDesk
Как выйти из этой ситуации если точность нужна до десятых ?
Всем Спасибо !
Заменил операцию C:=A-B ; на
C:= ( REAL_TO_DINT ( A *10 ) - REAL_TO_DINT ( B * 10 ) ) / 10.0 ;