Имя: Пароль:
1C
 
Округление - как округлить число в 1С до десятков(целых) в большую сторону
0 REA
 
16.02.05
18:14
Округление - как округлить число в 1С до десятков(целых) в большую сторону
Например 123,82 = 130
1 Волшебник
 
модератор
16.02.05
18:17
IMHO это уже не округление.
2 REA
 
16.02.05
18:18
Ну вообщем да
можно ли стандартными функциями?
3 Волшебник
 
модератор
16.02.05
18:20
Если только попробовать такой трюк:
НекоеЧисло = 123.82;
Окр(НекоеЧисло+4.99999,-1,РежимОкругления.Окр15Как20)
4 Матрейя
 
16.02.05
18:29
Порядок=?(Порядок=0,0.01,Порядок);
Числ=Числ+Порядок/2;
Числ=Макс(Цел(Числ/Порядок)*Порядок,Порядок);
5 REA
 
16.02.05
18:35
Спасибо попробую
6 Дурочкааа 1С
 
17.02.05
02:14
(Цел(ЧислоДляокругления/10)+1)*10
7 account77
 
17.02.05
03:37
(3) окр(( число + 5 ),- 1,0) для любой точности
8 Фокусник
 
17.02.05
08:06
(1) Очень даже и округление. Кто-то мыслит копейками, кто-то рублями, а кто-то тысячами :)
9 account77
 
20.02.05
06:39
123.82 123.37  Прикольно, циферки в примере почти совпали
//******************************************************************************
// глОкруглить(Числ, ПорядокОкругления)
//
// Параметры:
//  Числ              - исходное число
//  ПорядокОкругления - элемент перечисления Порядки окгугления:
//  "шаг" округления (0.01 (арифметическое), 0.01, 0.05, 0.1, 0.5, 1, 5, 10, 50, 100)
//
// Возвращаемое значение:
//  Округленное по заданному порядку значение
//
// Описание:
//  Округляет число вверх по заданному порядку. Т.е число 123.37 при порядке
//  округление 0.5 превратиться в 123.50, а число 0.1 при порядке округления
//  5 станет равным 5.
//  Если значение перечисления ОкрТочно, то округляет арифметически до 0.01
//
Функция глОкруглить(Числ, ПорядокОкругления) Экспорт
   Перем Рез;
   Если ПорядокОкругления = Перечисление.ПорядкиОкругления.ОкрТочно Тогда
       // арифметическое округление до 2-х знаков после запятой
       Рез = Окр(Числ, 2);
   Иначе
       // округление к верхней границе по заданному порядку
       // преобразуем порядок округления число
       Порядок            = Число(Строка(ПорядокОкругления));
       // вычислим количество интервалов, входящих в число
       КолвоИнтервал    = Числ / Порядок;
       // вычислим целое количество интервалов.
       КолвоИнтервалЦел= Цел(КолвоИнтервал);
       Если КолвоИнтервал = КолвоИнтервалЦел Тогда
           // Числа поделились нацело. Округлять не нужно.
         Рез    = Числ;
       Иначе
           Рез    = Порядок * (КолвоИнтервалЦел + 1);
       КонецЕсли;
   КонецЕсли;
   Возврат Рез;
КонецФункции // глОкруглить()
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.