Уважаемые знатоки не могу понять
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
Как выйти из этой ситуации если точность нужна до десятых ?
Всем Спасибо !
Заменил операцию C:=A-B ; на
C:= ( REAL_TO_DINT ( A *10 ) - REAL_TO_DINT ( B * 10 ) ) / 10.0 ;