Здравствуйте, Vorobiev Sergei, Вы писали:
VS>Здравствуйте, Aloner, Вы писали:
A>>и условие (ТОК == SCROLLBAR->POSITION * 0.01) несправедливо.
A>>вышел из ситуации след. образом.
A>>if (fabs(ТОК — double(SCROLLBAR->POSITION) * 0.01)<0.001)
A>>Хотел просто разобраться, правильно или нет.
VS>Правильно. Числа с плавающей точкой можно сравнивать только в эпсилон окрестности. Т.к. при вычислениях возникает погрешность, из-за того что кол-во знаков после запятой ограничено.
VS>Лучше делать так.
VS>VS>#include <float.h>
VS>...
VS>if (fabs(ТОК - double(SCROLLBAR->POSITION) * 0.01) < DBL_EPSILON)
VS>{
VS>...
VS>}
VS>
Спасибо!!!!