Имя: Пароль:
1C
 
Округление 0.01(арифметическое)
Ø
0 IronSerg
 
16.08.06
14:39
Никогда не задумывался, но теперь решил разобраться. В ТиС 9.2 есть в спр. типы цен округления "0.01" и "0.01(арифметическое)". В чем разница? Еще удивил тот факт, что в УТ округление "0.01(арифметическое)" отсутствует.
1 Дурочка 1С ®
 
16.08.06
14:41
А как бы ты округлил 0.005? А 0,001?
2 IronSerg
 
16.08.06
14:51
Если порядок округления 0.01(арифметическое), то 0.005 это 0.01,
а если порядок округления 0.01, то 0.005 сколько?
3 VZ
 
16.08.06
14:55
Если мы должны, то нискока, если нам - рупь.
4 0xFFFFFF
 
16.08.06
15:19
//ОкрТочно = "0.01 (арифметическое)"
Функция глОкруглить(Числ, ПорядокОкругления) Экспорт
  Перем Рез;
  
  Если ПорядокОкругления = Перечисление.ПорядкиОкругления.ОкрТочно Тогда
    
    // арифметическое округление до 2-х знаков после запятой
    Рез = Окр(Числ, 2);
  Иначе
    // округление к верхней границе по заданному порядку
    
    // преобразуем порядок округления число
    Порядок = Число(Строка(ПорядокОкругления));
    
    // вычислим количество интервалов, входящих в число
    КолвоИнтервал = Числ / Порядок;
    
    // вычислим целое количество интервалов.
    КолвоИнтервалЦел= Цел(КолвоИнтервал);
    
    Если КолвоИнтервал = КолвоИнтервалЦел Тогда
      // Числа поделились нацело. Округлять не нужно.
      Рез = Числ;
    Иначе
      Рез = Порядок * (КолвоИнтервалЦел + 1);
    КонецЕсли;
    
  КонецЕсли;
  
  Возврат Рез;
КонецФункции // глОкруглить()
5 IronSerg
 
16.08.06
16:11
(4)Видел я эту функцию. мне кажется,что и при 1, и при 2-ом случае выдает одно и то же.
6 IronSerg
 
17.08.06
14:37
Ап
7 BigBro
 
17.08.06
15:16
смотри еще раз внимательно функцию.
арифметическое куда придется округляет, обычное - вверх.
8 Гена
 
17.08.06
15:20
виноват... а в каком модуле у нас округление стоит до копеек?
виноват
9 IronSerg
 
17.08.06
16:03
(7)"арифметическое куда придется округляет" - это как в св-вах конфигурации определено. Обычно это тоже "вверх". А раз нет разницы, то зафиг это делать?
Кстати, почему в УТ 8.0 нет "Округление 0.01(арифметическое)"? Никто не знает?
10 Гена
 
17.08.06
16:11
второй раз: а в каком модуле у нас идёт округление?
11 IronSerg
 
17.08.06
16:12
(10)в глобальном
Закон Брукера: Даже маленькая практика стоит большой теории.