• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

сравнение числовых значений

  • Автор темы _OLSA_
  • Дата начала
Статус
Закрыто для дальнейших ответов.
O

_OLSA_

Кто нибудь сталкивался:

есть некоторый контейнер, точность массы до тысячных.
Из него постепенно идет отгрузка.
Почему то иногда, чаще когда было несколько мелких отгрузок, например:
0.001
0.011 и тп.
При последней отгрузке (вроде отгружают количество, которое содержится в контейнере) при сравнении двух чисел (в дебагере отображаются как одинаковые), выдает, что одно число больше другого.
Если ставлю Round(pole,3) - тогда остаток отображается как "-0.000".

На что следует обратить внимание?
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
4
Для: _OLSA_
Это связано с невозможностью точно представить некоторые десятичные числа в двоичной форме. :D
Все дробные числа сравнивать надо с заданной точностью.
Т.е. вместо
if f1 = f2 then ...
писать.
if abs(f2 - f1) < eps then ..., где eps - нужная точность.
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!