![]() |
|
v7: Округление в 1С 7.7 | ☑ | ||
---|---|---|---|---|
0
anagk
22.10.14
✎
15:57
|
Может тут помогут. Здравствуйте.
Нужно вот такой принцип округления: я так думаю его можно назвать округление до 0,5 0,784 = 1 0,489 = 0,5 3,6 = 4 3,3 = 3,5 5,339 = 5,5 5,669 = 6 |
|||
1
anagk
22.10.14
✎
16:02
|
да понятия об ОКР() я знаю, но тут больше не математика, а желание видеть итоговые цифры именно так округляя.
|
|||
2
silent person
22.10.14
✎
16:03
|
а 5,1 сколько будет ?
|
|||
3
anagk
22.10.14
✎
16:05
|
5,5
|
|||
4
Мигало
22.10.14
✎
16:06
|
Собственную функцию пиши
|
|||
5
anagk
22.10.14
✎
16:08
|
ну знал бы написал, я ж за помощью обращаюсь...
|
|||
6
Ёпрст
гуру
22.10.14
✎
16:10
|
Открой же наконец, типовую, ТиС к примеру..
там всё есть! |
|||
7
Ёпрст
гуру
22.10.14
✎
16:10
|
//******************************************************************************
// глОкруглить(Числ, ПорядокОкругления) // // Параметры: // Числ - исходное число // ПорядокОкругления - элемент перечисления Порядки окгугления: // "шаг" округления (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); КонецЕсли; КонецЕсли; Возврат Рез; КонецФункции // глОкруглить() |
|||
8
hhhh
22.10.14
✎
16:12
|
(5) Окр(ч * 2 + 0.4999999999, 0) / 2
|
|||
9
anagk
22.10.14
✎
16:19
|
ВОТ СПАСИБО!!!! (5) щас сяду подумаю над этой формулой...все работает
|
|||
10
Chameleon1980
22.10.14
✎
21:34
|
раздели, умножь
|
|||
11
пипец
23.10.14
✎
10:05
|
+ на конфигурации - в корне , правой кнопкой , свойства- вкладка задача ... порядок округления
|
|||
12
Крошка Ру
23.10.14
✎
10:11
|
(0) Умножить на 2, округлить до целого, разделить на 2
|
|||
13
Chameleon1980
23.10.14
✎
10:31
|
(12) найборот не?
|
|||
14
Крошка Ру
23.10.14
✎
10:40
|
(13)
3.3*2 = 6.6 Окр(6.6) = 7 7/2 = 3.5 |
|||
15
Chameleon1980
23.10.14
✎
10:44
|
агаа
не проснулся еще. в кровати еще лежу |
|||
16
Крошка Ру
23.10.14
✎
10:45
|
(15) везёт тебе... ))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |