1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

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

Тема в разделе "Lotus - Программирование", создана пользователем _OLSA_, 2 дек 2005.

Статус темы:
Закрыта.
  1. _OLSA_

    _OLSA_ Гость

    Репутация:
    0
    Кто нибудь сталкивался:

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

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

    Medevic Что это ? :)
    Lotus team

    Репутация:
    0
    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: _OLSA_
    Это связано с невозможностью точно представить некоторые десятичные числа в двоичной форме. :D
    Все дробные числа сравнивать надо с заданной точностью.
    Т.е. вместо
    if f1 = f2 then ...
    писать.
    if abs(f2 - f1) < eps then ..., где eps - нужная точность.
     
  3. _OLSA_

    _OLSA_ Гость

    Репутация:
    0
    Т.е. eps - любое число?
     
  4. Medevic

    Medevic Что это ? :)
    Lotus team

    Репутация:
    0
    Регистрация:
    10 дек 2004
    Сообщения:
    3.346
    Симпатии:
    2
    Для: _OLSA_
    Да. Точность. Например, 0.00001.
     
Загрузка...
Похожие Темы - сравнение числовых значений
  1. Erlan
    Ответов:
    8
    Просмотров:
    1.793
  2. k85
    Ответов:
    2
    Просмотров:
    1.278
  3. clas
    Ответов:
    3
    Просмотров:
    1.705
  4. juk-777
    Ответов:
    29
    Просмотров:
    5.094
  5. aank10
    Ответов:
    3
    Просмотров:
    2.075
Статус темы:
Закрыта.

Поделиться этой страницей