Добрый день! Подскажите пжл. как округлить число 7 167,127, что бы получилось 7 167,12.
---
Ребят! Окр() не канает!
---
Окр()
---
Сам - то пробовал?
---
Если б все так просто было, я б сюда не писал!
---
Окр(<Число>, <Разрядность>, <РежимОкругления>)
Параметры:

<Число> (обязательный)

Тип: Число.
Исходное число.
<Разрядность> (необязательный)

Тип: Число.
Определяет число знаков дробной части, до которых производится округление. Если параметр отрицательный, то число округляется до соответствующего разряда в целой части, начиная с младших разрядов.
Параметр обязательный, если указан параметр <РежимОкругления>.
Значение по умолчанию: 0.
<РежимОкругления> (необязательный)

Тип: РежимОкругления.
Определяет режим округления. Помимо системного перечисления допускается использование числового параметра: 0 - если при округлении 1.5 = 1; 1 - если при округлении 1.5 = 2.
Значение по умолчанию: Окр15как20.
---
```1c
    Цел(МоеЧисло * 100) / 100
```
?
---
Во! Спасибо!(5)
---
Только это называется не округление, а отбрасывание разрядов.
---
но задачу-то решает.
---
Ребят! Окр() не канает!
---
С каких пор Окр не округляет?
---
(11) (13) Ребят, что вы велосипед изобретаете?
В (6) приведено описание метода Окр из синтакс-помощника.
Прочтите его хотя бы, не позорьтесь...
---
ОКР (0.007) в любом режиме вернет 0.01

Прочитал бы, что человеку надо, не позорься...
---
Прочитал. Цитирую: "как округлить число 7 167,127, что бы получилось 7 167,12"
Придумывать свои условия не нужно. Где вы их вдруг увидели?
---
это называется не округление, а отбрасывание разрядов
---
Все зависит от решаемой задачи. Как это не назови.
С приведенным в сообщении примером успешно справляется и Окр.
---
приведи решение с помощью ОКР.
округлить число 7 167,127, что бы получилось 7 167,12

На входе 7 167,127 , на выходе 7 167,12.

Удиви нас.
---
Решение с Окр() уже приведено в (11). Но Sashares его велосипедом обозвал.
---
в (11) приведен типичный индусский код. Человек, который впоследствии будет править конфигурацию с таким кодом, выскажет много лестных слов о предыдущем разработчике
---
посмотри в (11) и удивись.
(21) действительно, решение в (11) было причислено к велосипеду ошибочно))
Обидеть никого не хотел.

Немного неожиданно работает Окр при округлении числа, с округляемой частью больше чем 0.5
---
Неожиданно, только если не использовать и не задумываться. Третий параметр просто определяет поведение округления на границе округления, где бы она не находилась при заданных условиях. Как бы аналог "включая границу" и "исключая границу".
(23) Да вполне имеет право на жизнь. Достаточно добавить комментарий. Это просто частный случай более универсального варианта смещения границы округления.
---
Это я уже понял. Из описания метода сложилось ошибочное предположение что 15как10 округляет в меньшую сторону любое число, а не только учитывает границу 0.5.
---
ну вот и разобрались, а то взял наехал в (14) на всех скопом )))
---
Окр(7167.127,2,0) 7 167,13 Число
Окр(7167.127,2,1) 7 167,13 Число
Окр(7167.127,2,2) 7 167,13 Число
Окр(7167.127,2,РежимОкругления.Окр15как10) 7 167,13 Число
Окр(7167.127,2,РежимОкругления.Окр15как20) 7 167,13 Число

Цел(7167.127) 7 167 Число

Цел(100*7167.127)/100 7 167,12 Число

У меня неправильное табло?
---
Приношу извинения за (14), с моей стороны это было грубо и, как оказалось, безосновательно =(
---
Да! Мне стыдно, школу не помню!
---
Можно и через Окр:

```1c
    Окр(МоеЧисло-0.005, 2);
```
---
```1c
    Цел(100*МоеЧисло)/100
```
---
Если верить гуглю, округление вниз через Окр() - очень распространенная ошибка.
Вторая по распространенности - сумма округлений не равна округлению суммы.
Бывает даже просто непонимание принципа округления, например http://forum.infostart.ru/forum26/topic110011/

В общем, примета: округление в середине формулы - к глюкам.
---
Очень полезно, спасибо!
Получилось через Цел(100*МоеЧисло)/100, (13)
---
Сообщение было скрыто модератором.
---
Окр(7167.127 - 0.005, 2, 1) = 7167.12
Окр(7167.127 - 0.05, 1, 1) = 7167.1
Окр(7167.127 - 0.5, 0, 1) = 7167.0
---
Окр(7167.127 - 0.005, 2, 1) = 7167.12
Окр(7167.127 - 0.05, 1, 1) = 7167.1
Окр(7167.127 - 0.5, 0, 1) = 7167.0

А если по условиям задачи не допустимо изменять число?
В моем случае:
Окр(0.9888551,4,РежимОкругления.Окр15как10) = 0,9889
Окр(0.9888551,4,РежимОкругления.Окр15как20) = 0,9889

Как так -то?