helpf.pro
Регистрация

v8: Округление

Rustavelli
04.11.2013 11:14Прочитано: 948
Можно ли округлить 0,1 до 0,5, а 0,6 до 1 или наоборот при необходимости 0,1 до 0, а 0,6 до 0,5? Если это возможно то как?
Изменено 04.11.13 11:18:55
Yandex
Возможно, вас также заинтересует
Реклама на портале
DJ_Serega
04.11.2013 16:28Ответ № 1
У меня как-то так получилось:

Код 1C v 8.2 УП
 
&НаКлиенте
Процедура ОкруглитьК1(Команда)

ОстатокОтОкругления = 0;
Если Входящее % 1 < 0.5 Тогда
ОстатокОтОкругления = 0.5;
ИначеЕсли Входящее % 1 >= 0.5 Тогда
ОстатокОтОкругления = 1;
КонецЕсли;

Итоговое = Цел(Входящее) + ОстатокОтОкругления;

КонецПроцедуры

&НаКлиенте
Процедура ОкгрулитьК0(Команда)

ОстатокОтОкругления = 0;
Если Входящее % 1 < 0.5 Тогда
ОстатокОтОкругления = 0;
ИначеЕсли Входящее % 1 >= 0.5 Тогда
ОстатокОтОкругления = 0.5;
КонецЕсли;

Итоговое = Цел(Входящее) + ОстатокОтОкругления;

КонецПроцедуры
Jonsony
05.11.2013 09:07Ответ № 2
(0) Rustavelli, если штатными средствами - то нет
писать функции надо будет, один из вариантов - выше постом.
Можно одну а не две, просто передавать признак необходимости, что до чего округлять

примерно
Код 1C v 8.2 УП
 
Округлено=Округлить(0)

&НаКлиенте
Функция Округлить(Признак)
// 1 - округляем 0,1 до 0,5, а 0,6 до 1
// 0 - округляем 0,1 до 0, а 0,6 до 0,5
//.......нужный код.........
КонецФункции
DJ_Serega
05.11.2013 11:28Ответ № 3
(2) Jonsony, так я для понятливости *02
Jonsony
05.11.2013 16:45Ответ № 4
(3) DJ_Serega, никаких претензий не выдвигал в твой адрес :-)
Rustavelli
26.12.2013 10:18Ответ № 5
Вопрос закрыт!
Подсказка: Для быстрого перемещения к последнему ответу или к вопросу используйте или .
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.