округление в обработке

1. natali_mix 17.01.20 18:10 Сейчас в теме
Добрый вечер. Помогите,пожалуйста.Необходимо в обработке округлять числа по алгоритму: если последняя цифра «0» или «5» - ничего не делаем. Если последняя цифра от «1» до «4» - округляем до 5 . Если последняя цифра от «6» до «9» - округляем до 10 . Пример: 1381 – 1385; 1386 – 1390. Спасибо за помощь
По теме из базы знаний
Найденные решения
4. YNik 17.01.20 19:47 Сейчас в теме
(1) Окр(МоеЧисло*2+5,-1,0)/2
user774630; natali_mix; triviumfan; +3 Ответить
7. user856012 13 18.01.20 13:42 Сейчас в теме
(6)
2767. В округлении параметр -1 ,значит получаем 2760
С какого перепугу?
Или я не правильно рассуждаю?
Попробуйте спросить об этом Табло 1С.

P.S. Другой вариант этой же формулы: Окр(МоеЧисло*2+4,-1)/2 - может, так вам понятнее будет.
15. natali_mix 21.01.20 12:46 Сейчас в теме
Добрый день,друзья! У меня получилось мое ''округление '' сделать в запросе. Это моя формула,но можно использовать подставив свои данные.
(ВЫРАЗИТЬ((ВЫРАЗИТЬ((ВТ_ПредДанные.ТарифнаяСтавка * (1 + &ПроцентПовышения / 100)-0.5) КАК ЧИСЛО(10, 0))*2+4)/10 как число(10,0))) * 10/2
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. YNik 17.01.20 19:47 Сейчас в теме
(1) Окр(МоеЧисло*2+5,-1,0)/2
user774630; natali_mix; triviumfan; +3 Ответить
6. natali_mix 18.01.20 09:43 Сейчас в теме
(4)YNik,беру число 1381 и по вашей формуле получаю 1381*2+5=2767. В округлении параметр -1 ,значит получаем 2760 /2=1380 ,а это не тот результат(надо 1385) .Или я не правильно рассуждаю?
7. user856012 13 18.01.20 13:42 Сейчас в теме
(6)
2767. В округлении параметр -1 ,значит получаем 2760
С какого перепугу?
Или я не правильно рассуждаю?
Попробуйте спросить об этом Табло 1С.

P.S. Другой вариант этой же формулы: Окр(МоеЧисло*2+4,-1)/2 - может, так вам понятнее будет.
8. natali_mix 18.01.20 15:17 Сейчас в теме
User856012,просто посмотрела пример по этой ссылке http://howknow1c.ru/jazyk-1s/1s-okr.html и решила,что округление идёт только в меньшую сторону. Теперь понятно,спасибо за помощь. Табло 1с нет под руками,только на работе😊
(7)
11. natali_mix 20.01.20 19:01 Сейчас в теме
(7)User856012,YNik,к сожалению,это округление не работает,если число оканчивается на 0 или 5
12. user856012 13 20.01.20 21:16 Сейчас в теме
(11)
это округление не работает,если число оканчивается на 0 или 5
Неужели? Проверяем мой вариант:

1380 * 2 = 2760
2760 + 4 = 2764
Окр(2764,-1) = 2760
2764 / 2 = 1380

1385 * 2 = 2770
2770 + 4 = 2774
Окр(2774,-1) = 2770
2774 / 2 = 1385

Где тут ошибка?

Если же "не работает" в запросе, то гуглить за вас я не собираюсь. Тем более - сушить мозги... забесплатно.
14. natali_mix 20.01.20 22:01 Сейчас в теме
(12)благодарю вас за ответ,но в интернете не нашла как сделать в запросе,поэтому спросила на форуме,может кто сталкивался. Просто дали чужую обработку,,там запрос работает не так,как хочет пользователь.
13. YNik 20.01.20 21:39 Сейчас в теме
(11) Проверьте в табло, все работает
2. user774630 17.01.20 18:21 Сейчас в теме
МоеЧисло = 1386;
НужноеЧисло = ?(Число(Прав(Строка(МоеЧисло), 1)) = 5, МоеЧисло, Окр(МоеЧисло,-1)); 
3. acanta 17.01.20 18:22 Сейчас в теме
5. triviumfan 93 17.01.20 21:32 Сейчас в теме
(3) Хотя бы проверила:
Цел(1381/5)*5 = 1380.
9. natali_mix 20.01.20 10:01 Сейчас в теме
Доброе утро. Извините за некорректный вопрос, надо так округлить в запросе, а там функция окр() не работает
10. dicus 20.01.20 14:25 Сейчас в теме
15. natali_mix 21.01.20 12:46 Сейчас в теме
Добрый день,друзья! У меня получилось мое ''округление '' сделать в запросе. Это моя формула,но можно использовать подставив свои данные.
(ВЫРАЗИТЬ((ВЫРАЗИТЬ((ВТ_ПредДанные.ТарифнаяСтавка * (1 + &ПроцентПовышения / 100)-0.5) КАК ЧИСЛО(10, 0))*2+4)/10 как число(10,0))) * 10/2
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот