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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 02.08.2013, 12:38   #1
Maxim360
Пользователь
 
Регистрация: 12.07.2013
Сообщений: 28
По умолчанию Округление до ,90 копеек

Всем привет! Прошу вашей помощи.
Имеются цены, например
5,23
4,78
11,49

Нужна формула, которая бы устанавливала бы цену ,90 копеек:
5,23 округляется в меньшую сторону, тогда ставим 4,9
4,78 округляется в большую сторону, тогда ставим 4,9
11,49 округляется в меньшую торону, тогда ставим 10,9
и т.д..........

т.е. по математическим правилам, если <0,5 тогда в меньшую, если >=0,5, тогда в большую
Maxim360 вне форума Ответить с цитированием
Старый 02.08.2013, 12:53   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

смотри рисунок
Изображения
Тип файла: jpg 1.JPG (17.4 Кб, 65 просмотров)
программа — запись алгоритма на языке понятном транслятору
evg_m на форуме Ответить с цитированием
Старый 02.08.2013, 13:06   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

evg_m, а 13.41 куда дожно округлиться до 12.9 или 13.9?
я так понимаю, что надо бы до 13.9

вот это округлит и отрицательные числа согласно ТЗ
Код:
=ОКРУГЛ(RC[-1]+0.1*ЗНАК(RC[-1]);)-0.1*ЗНАК(RC[-1])
стиль ссылок в формуле R1C1
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.08.2013, 13:16   #4
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Игорь,
Цитата:
11,49 округляется в меньшую торону, тогда ставим 10,9
поэтому
Цитата:
13.41 куда дожно округлиться до 12.9 или 13.9?
должно округлиться до 12.9


p.s. подозреваю, что отрицательных цен в прайсе у TC не бывает
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.08.2013, 13:20   #5
Maxim360
Пользователь
 
Регистрация: 12.07.2013
Сообщений: 28
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
смотри рисунок
блин, точно
Спасибо тебе большое!

Очень прошу помочь еще в одном моменте:
если 24, тогда 19,9
если 25, тогда 25,9
если 221, тогда 219, т.к. 221-219<229-221,тогда вниз
если 225, тогда 229, т.к. 229-225>225-219, тогда вверх

Буду очень благодарен!

Последний раз редактировалось Maxim360; 02.08.2013 в 13:27.
Maxim360 вне форума Ответить с цитированием
Старый 02.08.2013, 13:22   #6
Maxim360
Пользователь
 
Регистрация: 12.07.2013
Сообщений: 28
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
evg_m, а 13.41 куда дожно округлиться до 12.9 или 13.9?
я так понимаю, что надо бы до 13.9

вот это округлит и отрицательные числа согласно ТЗ
Код:
=ОКРУГЛ(RC[-1]+0.1*ЗНАК(RC[-1]);)-0.1*ЗНАК(RC[-1])
стиль ссылок в формуле R1C1
Спасибо за овтет!

13,14 должно огруглится также согласно математическому округлению до 12,9, а вот 13,51 до 13,90.
Maxim360 вне форума Ответить с цитированием
Старый 02.08.2013, 13:32   #7
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

об отрицательных я подумал тоже самое)))

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

у автора темы система относительно целых чисел сдвинута на -0.1
приводим исходное число к нормальной системе (добавляем 0.1 по модулю), округляем стандатной функцией, возвращаем к исходной системе (уменьшаем значение на 0.1 по модулю).
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.08.2013, 13:38   #8
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Maxim360, с 13.51 - понятно все. мой вопрос был коварнее, куда округлять 13.41? (Вы почему-то исправили его на 13.14)
ответьте, пожалуйста, куда должно быть округлено:
13.39
13.40
13.41
моя формула сделает 12.9, 13.9 и 13.9.
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 02.08.2013, 16:25   #9
Maxim360
Пользователь
 
Регистрация: 12.07.2013
Сообщений: 28
По умолчанию

Цитата:
Сообщение от IgorGO Посмотреть сообщение
Maxim360, с 13.51 - понятно все. мой вопрос был коварнее, куда округлять 13.41? (Вы почему-то исправили его на 13.14)
ответьте, пожалуйста, куда должно быть округлено:
13.39
13.40
13.41
моя формула сделает 12.9, 13.9 и 13.9.
Видимо, я не доглядел и указал 13,14 вместо 13,41.
Ну по идее должно быть 12,9 во всех случаях, т.к. они меньше 13,5
Maxim360 вне форума Ответить с цитированием
Старый 02.08.2013, 17:16   #10
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

ладно поставим вопрос по другому:
13.41 ближе к какому числу к 13.9 или к 12.9
(подсказка от 12.9 до 13.41 расстояние 0.51, от 13.41 до 13.9 расстояние 0.41) вопрос прежний к чему ближе 13.41 к 13.9 или к 12.9, к чему его следовало бы приравнять?
а например 13.499 до 12.9 расстояние 0.599, а до 13.9 расстояние 0.401 (до 13.9 расстояние в 1.5 раза меньше, но округляем до 12.9 - железная логика).
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Единица товара стоит a рублей b копеек... climp Паскаль, Turbo Pascal, PascalABC.NET 4 21.09.2012 08:39
5 копеек=50 копеек Alex11223 Свободное общение 48 29.11.2011 02:30
Перевод суммы копеек на сумму в рублях. yur4eG Microsoft Office Excel 3 06.05.2008 19:50
округление Toxa Общие вопросы Delphi 4 15.01.2007 19:15