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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2009, 12:11   #1
Андрей_Васильевич
 
Регистрация: 16.10.2009
Сообщений: 3
Печаль ОКРУГЛение

Если не трудно, наберите в Excel формулы: =ОКРУГЛ((8-7,3)*13,25;2) и =ОКРУГЛ((9-8,3)*13,25;2). В случае различного результата объясните в чем причина.
Андрей_Васильевич вне форума Ответить с цитированием
Старый 16.10.2009, 13:10   #2
EugeneS
Форумчанин
 
Регистрация: 06.08.2009
Сообщений: 472
По умолчанию

Добрый день, в результате эксперимента (см. вложение) предполагаю, что данная ф-ция действует по принципу бухгалтерского среднего, тоесть приблизительно половину чисел округляет вверх, вторую половину вниз.

При проверке (см. файл вложения) результат одинаковый.
Вложения
Тип файла: zip Approximation.zip (7.0 Кб, 12 просмотров)
EugeneS вне форума Ответить с цитированием
Старый 16.10.2009, 14:04   #3
Андрей_Васильевич
 
Регистрация: 16.10.2009
Сообщений: 3
По умолчанию

Забудьте про функции, наберите =9-8,3 и увеличьте разрядность
Андрей_Васильевич вне форума Ответить с цитированием
Старый 16.10.2009, 16:30   #4
DV68
Форумчанин
 
Регистрация: 05.08.2009
Сообщений: 465
По умолчанию

Попробуйте так:
Вложения
Тип файла: rar округл.rar (9.7 Кб, 15 просмотров)
"Все следует делать настолько простым, насколько это возможно, но не проще." Альберт Эйнштейн
DV68 вне форума Ответить с цитированием
Старый 19.10.2009, 08:32   #5
Андрей_Васильевич
 
Регистрация: 16.10.2009
Сообщений: 3
По умолчанию

Да не имею я права никак пробовать - листочек Excel спущен с министерства и изменению не подлежит. Мое приложение написано на Clarion (да не суть важно на чем, в любом языке 9-8,3=0,7), а результат должен совпадать до копейки. Мне теперь увольняться с работы или купить Гейтсу учебник по математике за 3 класс?
Дело в том, что никакой логики, которую можно было бы скрепя сердце попытаться повторить, в таких экселевских результатах вычитания я не вижу. Может кто-то знает алгоритм?

Последний раз редактировалось Андрей_Васильевич; 19.10.2009 в 08:36.
Андрей_Васильевич вне форума Ответить с цитированием
Старый 19.10.2009, 09:09   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не поминайте имя Гейтса всуе... Гейтс тут не при чём...

вот - почитайте мой ответ в теме: "что за странный результат?"

к примеру, TurboPascal
тип данных Single
Код:
var r : single;
begin
  r := 9.0-8.3;
  WriteLn(r:22:19)
результат: 0.699999988079071045

кстати, если сделать так:
Код:
var r,x,y : single;
begin
  x:=9.0;
  y:=8.3;
  r := x-y;
  WriteLn(r:22:19)
то результат: 0.699999809265136719

выводы делайте сами..

Последний раз редактировалось Serge_Bliznykov; 19.10.2009 в 09:35. Причина: не то число вставил из буфера обмена... ;(
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Округление чисел Vikelf Помощь студентам 1 01.06.2009 12:16
Округление числа Pinya Microsoft Office Excel 2 18.09.2008 18:01
округление в Firebird shurik_7866 БД в Delphi 0 05.07.2007 11:10
округление Toxa Общие вопросы Delphi 4 15.01.2007 19:15