Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2016, 21:59   #1
TiTaNicK
Новичок
Джуниор
 
Регистрация: 27.10.2016
Сообщений: 6
По умолчанию зачем он округляет

Доброго времени суток, я далеко не программист, и чтоб написать данную функцию потребовалось не мало пота ) Но вроде получилось, но есть НО.
В общем ситуация такая почему то программа считает не корректно, или где то это просто можно отключить не знаю. пример : имеем 2 числа
143,407 - 141,977 = 1.43000000000001 это так считает комп. Почему? мне надо чтоб он норм посчитал = 1,43 . Откуда еще какие то нули с единицей.
=ЕСЛИ(C4=(ОКРУГЛВНИЗ(B$2;2)+0,004); (D4+(((D5-D4)/10)*(B$2-C4)*1000)))

Выделенное как раз эти 2 числа
TiTaNicK вне форума Ответить с цитированием
Старый 27.10.2016, 22:30   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Оно так работает by design: http://www.softelectro.ru/ieee754.html
Как там написано:
"Некоторые специалисты считают, что этот формат чисел представляет угрозу человечеству.
Вы можете прочитать об этом в статье IEEE754-тика угрожает человечеству "
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 27.10.2016 в 22:33.
Hugo121 вне форума Ответить с цитированием
Старый 27.10.2016, 22:31   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Ячейку пробовал отформатировать как число с нужным количеством знаками после точки?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 27.10.2016, 22:47   #4
TiTaNicK
Новичок
Джуниор
 
Регистрация: 27.10.2016
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Ячейку пробовал отформатировать как число с нужным количеством знаками после точки?
Конечно, считает только это выражение криво. Остальное нормально.
TiTaNicK вне форума Ответить с цитированием
Старый 27.10.2016, 22:49   #5
TiTaNicK
Новичок
Джуниор
 
Регистрация: 27.10.2016
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Оно так работает by design: http://www.softelectro.ru/ieee754.html
Как там написано:
"Некоторые специалисты считают, что этот формат чисел представляет угрозу человечеству.
Вы можете прочитать об этом в статье IEEE754-тика угрожает человечеству "
А можно сделать чтоб "оно" так не работало ? а считало нормально 1+1=2 а не 1,99999999999
TiTaNicK вне форума Ответить с цитированием
Старый 27.10.2016, 23:05   #6
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,170
По умолчанию

Сделать ничего нельзя. Но можно округлить результат
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 27.10.2016, 23:09   #7
TiTaNicK
Новичок
Джуниор
 
Регистрация: 27.10.2016
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Hugo121 Посмотреть сообщение
Сделать ничего нельзя. Но можно округлить результат
а как это сделать? А то из за того что он такое пишет у меня формула не работает
TiTaNicK вне форума Ответить с цитированием
Старый 27.10.2016, 23:12   #8
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Скобок многовато, да и дробь сократить можно. На точность это не влияет, конечно.
Код:
=ЕСЛИ(C4=ОКРУГЛВНИЗ(B$2;2)+0,004;D4+(D5-D4)*(B$2-C4)*100)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619

Последний раз редактировалось Казанский; 27.10.2016 в 23:17.
Казанский вне форума Ответить с цитированием
Старый 27.10.2016, 23:17   #9
TiTaNicK
Новичок
Джуниор
 
Регистрация: 27.10.2016
Сообщений: 6
По умолчанию

Цитата:
Сообщение от Казанский Посмотреть сообщение
Скобок многовато, да и дробь сократить можно
Код:
=ЕСЛИ(C4=ОКРУГЛВНИЗ(B$2;2)+0,004;D4+(D5-D4)*(B$2-C4)*100)
Спасибо ) и правда многовато)) но считает одинаково
TiTaNicK вне форума Ответить с цитированием
Старый 27.10.2016, 23:19   #10
TiTaNicK
Новичок
Джуниор
 
Регистрация: 27.10.2016
Сообщений: 6
По умолчанию

Вроде добавил функцию округл . Теперь считает как надо) кому вообще нафиг надо этот формат двоичный )
TiTaNicK вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
до каких чисел округляет функция round в Паскале ABC& Настяyu Помощь студентам 5 28.12.2011 18:18
Double все тупо округляет WennY SQL, базы данных 1 22.07.2011 17:12
(i and 1) = 1-зачем????? firephenix Помощь студентам 7 21.03.2011 06:18
Калькулятор Casio fx-1600P Округляет все результаты Ecosasha Свободное общение 2 25.02.2011 20:53
подскажите какая процедура округляет дробные числа , а не откидывает дробную часть, к ***СкаЙ*** Помощь студентам 5 13.06.2007 16:03