Calculators - Калькуляторы: корректность вычислений
Модератор: Дед Пахом
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Calculators - Калькуляторы: корректность вычислений
Привет всем участникам форума!
Для ввода значения пользователю необходимо произвести некоторые предварительные вычисления.
Для этого решил использовать шаблон калькулятора от strategyonline.co.za J-Calculator.
Данный шаблон прекрасно работает, однако его вычисления не корректны:
К примеру 2.35 - 2.349999999 должно быть 0.000000001
однако калькулятор strategyonline.co.za J-Calculator: 2.35 - 2.349999999 даёт результат 1.0000000827403.
Бесплатный пример калькулятора SDCALC.ZIP Результат 2.35 - 2.349999999 = 1.000000082740
Встроенный калькулятор Windows 7 2.35 - 2.349999999 = 0.000000001
J-Calculator использован в среде C8(8.0.8973) Windows 7 SP1
Калькулятора SDCALC.ZIP использован в среде C8(8.0.8973) Windows 7 SP1 и в среде C6 Windows 7 SP1
В связи с данной проблемой, прошу участников форума высказать свои мнения по вопросу корректности вычислений данных калькуляторов, способы решения, а также прошу подсказать шаблон хорошего калькулятора (freeware или crack-нутый) с функциональностью не хуже чем в J-Calculator.
С Уважением, Developer, cfwdeveloper@gmail.com
Для ввода значения пользователю необходимо произвести некоторые предварительные вычисления.
Для этого решил использовать шаблон калькулятора от strategyonline.co.za J-Calculator.
Данный шаблон прекрасно работает, однако его вычисления не корректны:
К примеру 2.35 - 2.349999999 должно быть 0.000000001
однако калькулятор strategyonline.co.za J-Calculator: 2.35 - 2.349999999 даёт результат 1.0000000827403.
Бесплатный пример калькулятора SDCALC.ZIP Результат 2.35 - 2.349999999 = 1.000000082740
Встроенный калькулятор Windows 7 2.35 - 2.349999999 = 0.000000001
J-Calculator использован в среде C8(8.0.8973) Windows 7 SP1
Калькулятора SDCALC.ZIP использован в среде C8(8.0.8973) Windows 7 SP1 и в среде C6 Windows 7 SP1
В связи с данной проблемой, прошу участников форума высказать свои мнения по вопросу корректности вычислений данных калькуляторов, способы решения, а также прошу подсказать шаблон хорошего калькулятора (freeware или crack-нутый) с функциональностью не хуже чем в J-Calculator.
С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Calculators - Калькуляторы: корректность вычислений
Ну, вообще, понятно откуда ноги растут. Посмотрел я калькулятор, который был в примерах тогда ещё TopSpeed'а. Подозреваю на его основе всё сделано. По тексту там две переменные - Number (STRING) и Operand (Real). И идёт выражение Number = Operand - Number. И в какой-то момент результат получается в виде 1.0000000827403е-6 (типа этого). Преобразование из REAL в STRING дает этот результат (по мануалу - в преобразовании участвуют только 15 символов).
Как обойти? Ничего простого пока на ум не приходит.
Как обойти? Ничего простого пока на ум не приходит.
We are hard at work… for you.
Re: Calculators - Калькуляторы: корректность вычислений
Привет всем!
Kreator спасибо за отклик на данную тему!
Проблема корректности вычислений данных калькуляторов как было правильно отражено в ответе состоит именно в преобразовании из REAL в STRING без учёта порядка. Сам использовал простой пример в WINDOW ENTRY REAL ENTRY3=ENTRY1-ENTRY2 и получил ответ в формате 1.00000008274037e-09.
Возможно, если бы авторы данных калькуляторов использовали тип DECIMAL такая проблема не возникла.
В связи с тем, что эта проблема в данных калькуляторах присутствуют, возникает вопрос, а существует ли шаблон (исходник) калькулятора в котором данная проблема отсутствует или все разработчики данных калькуляторов наступали на одни и те же грабли и даже не удосужились выполнить проверку.
А ведь шаблон калькулятора от strategyonline.co.za J-Calculator коммерческий продукт.
Прошу участников форума оставить свои мнения на данную тему.
С Уважением, Developer, cfwdeveloper@gmail.com
Kreator спасибо за отклик на данную тему!
Проблема корректности вычислений данных калькуляторов как было правильно отражено в ответе состоит именно в преобразовании из REAL в STRING без учёта порядка. Сам использовал простой пример в WINDOW ENTRY REAL ENTRY3=ENTRY1-ENTRY2 и получил ответ в формате 1.00000008274037e-09.
Возможно, если бы авторы данных калькуляторов использовали тип DECIMAL такая проблема не возникла.
В связи с тем, что эта проблема в данных калькуляторах присутствуют, возникает вопрос, а существует ли шаблон (исходник) калькулятора в котором данная проблема отсутствует или все разработчики данных калькуляторов наступали на одни и те же грабли и даже не удосужились выполнить проверку.
А ведь шаблон калькулятора от strategyonline.co.za J-Calculator коммерческий продукт.
Прошу участников форума оставить свои мнения на данную тему.
С Уважением, Developer, cfwdeveloper@gmail.com
С Уважением, Developer
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Calculators - Калькуляторы: корректность вычислений
Был раньше в примерах - G_Calc. Я его пользую, там ничего сложного, обыкновенная аппликуха с ручным кодом. Если не найдешь, пиши, я пороюсь в архивах, или в TXA сэкспортирую. Насчет DECIMAL надо проверить.
We are hard at work… for you.
Re: Calculators - Калькуляторы: корректность вычислений
У меня валяется самодельный калькулятор, скажи почту - кину...
yufil@post.ru , ICQ# 75924439
yufil@post.ru , ICQ# 75924439
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Calculators - Калькуляторы: корректность вычислений
Да, DECIMAL работает. Если надо могу кинуть на мыло исправленный G_Calc.
We are hard at work… for you.
Re: Calculators - Калькуляторы: корректность вычислений
Ребята (Yufil, Kreator), а почему бы Вам не бросить на общак (ftp)? Всем надо, пожалуйста!
-
- ✯ Ветеран ✯
- Сообщения: 4982
- Зарегистрирован: 28 Май 2009, 15:54
- Откуда: Москва
- Благодарил (а): 7 раз
- Поблагодарили: 20 раз
Re: Calculators - Калькуляторы: корректность вычислений
Действительно, почему бы нет. Залил в _Misc Applications\G_Calc. Единственное, не убрал там вызов класса HTML Help с моими параметрами. Сами.
We are hard at work… for you.
- Игорь Столяров
- Ветеран движения
- Сообщения: 7372
- Зарегистрирован: 07 Июль 2005, 10:19
- Откуда: г. Ростов-на-ДоМу
- Благодарил (а): 13 раз
- Поблагодарили: 48 раз
Re: Calculators - Калькуляторы: корректность вычислений
Тест на G-Calc ... См. пример в прикрепленном файле.
Код калькулятора я публиковал в каком-то сообщении в форуме, где мы обсуждали калькуляторы - см. архив ...
Код калькулятора я публиковал в каком-то сообщении в форуме, где мы обсуждали калькуляторы - см. архив ...
За теми кто отстал - не возвращаться. (С) Кодекс