Имя: Пароль:
1C
1C 7.7
v7: Неправильное округление
0 vitalka
 
18.05.12
15:25
есть документ с табличной частью
в процедуре вывода на печать сумируются значения по одной колонке
это СуммаЗаДет


Сообщить("СуммаЗаРаботу ="+СуммаЗаРаботу );  
Сообщить("СуммаЗаДет ="+СуммаЗаДет );  
ИтогБезПДВ = СуммаЗаРаботу  + СуммаЗаДет;
Сообщить("ИтогБезПДВ без округления ="+ИтогБезПДВ );  
       
ИтогБезПДВ = Окр((ИтогБезПДВ),2,2);
Сообщить("ИтогБезПДВ после округления ="+ИтогБезПДВ );  
       

результат

СуммаЗаРаботу =487
СуммаЗаДет =672.624
ИтогБезПДВ без округления =1159.624
ИтогБезПДВ после округления =1159.63
Итог без округления =1391.556
ИтогПДВ без округления =231.926

в конфигурации правило округления стоит 1.5 = 2
1 ЧеловекДуши
 
18.05.12
15:29
Все правильно, это у вас неправильное понятие об математическом округлении и о том, от куда берется третий параметр в функции "Окр" и что он означает :)
2 ЧеловекДуши
 
18.05.12
15:30
+ 1159.624  И 1159.63  - Округления по правилу "1.5 = 2"

Еще поближе: .624 и .630 - что тут непонятно?
3 chief accountant
 
18.05.12
15:33
(2) гонишь
4 НЕА123
 
18.05.12
15:34
(2)
вообще-то 62 должно быть
5 vitalka
 
18.05.12
15:34
ну как бы со школы усвоил, что .625 округляем до .63, а .624 до .62

бухгалтерия тоже настаивает на таком округлении)))
6 ЧеловекДуши
 
18.05.12
15:36
(4)У него округление до 2-ух дробной. Что должно быть?
И последний параметр округляет, к примеру, 0.005, до 0.01, так понятней?
7 ЧеловекДуши
 
18.05.12
15:37
(5)ДНК :)
8 chief accountant
 
18.05.12
15:37
(6) А 0.004?
9 ЧеловекДуши
 
18.05.12
15:37
+ И последний параметр округляет, к примеру, 0.001, до 0.01, так понятней?
10 ЧеловекДуши
 
18.05.12
15:37
(8)Свободен :)
11 viktor_vv
 
18.05.12
15:37
В окр третий параметр равный 2 это кажись недокументированный параметр округления к бижайшему большему.
12 ЧеловекДуши
 
18.05.12
15:38
+ (8) Окр(0.002,2,2), что получишь?
13 chief accountant
 
18.05.12
15:39
(10) Мой вопрос только к посту (2), где явный гон
14 ЧеловекДуши
 
18.05.12
15:39
(11)Слово "Не документировано" о чем говорит
Да можешь там в параметре 1000 указать и что?
Зачем тебе головная боль :)

Окр(<?>,,)
Round(<?>,,)
Синтаксис:
Окр(<Число1>,<Число2>,<Способ>)
Назначение:
Возвращает значение результата округления.
Параметры:
<Число1> - числовое выражение, значение которого надо округлить;
<Число2> - число значащих цифр дробной части или
минус число не значащих младших цифр целой части (не обязателен, по умолчанию - 0);
<Способ> - способ округления граничных значений: 0 - если 1.5 округляется до 1, 1 - если 1.5 округляется до 2 (не обязателен, по умолчанию принимается значение, установленное в окне свойств конфигурации: Конфигурация/Задача/Свойства страница Задача, поле Округление).
15 vitalka
 
18.05.12
15:40
почему не документированый

0 - если 1.5 округляется до 1, 1 - если 1.5 округляется до 2 (не обязателен, по умолчанию принимается значение, установленное в окне свойств конфигурации:
16 chief accountant
 
18.05.12
15:40
(12) С этим никто и не спорил
17 ЧеловекДуши
 
18.05.12
15:40
(15)Подай заявку на 1С, может исправят :)
18 ЧеловекДуши
 
18.05.12
15:41
+ В данном случае, виноват только Автор :)
19 chief accountant
 
18.05.12
15:41
(15) потому что "0" или "1", где 2?
20 НЕА123
 
18.05.12
15:41
третий параметр д.б. =1. 2 воспринимается как 0.
21 viktor_vv
 
18.05.12
15:42
(15) И где ты там видишь описание третьего параметра равного 2 или больше.
22 viktor_vv
 
18.05.12
15:43
(20) округление  только в (11) я неправ был. При третьем паарметре равном или больше 2 все что справа просто обрезается.
23 НЕА123
 
18.05.12
15:43
у меня дает 1159.62.
7.70.025
24 chief accountant
 
18.05.12
15:46
(22) Угумс, есть такое, не помню точно, но там и отрицательные значения параметра могут быть
25 viktor_vv
 
18.05.12
15:46
(23) А так
Сообщить(Окр(11.527,2,2));

У меня дает 11.52 .
26 vitalka
 
18.05.12
15:47
я - бестолковка)))

недосмотрел - решил, что 2, это использовать правило из конфигурации
27 chief accountant
 
18.05.12
15:47
24+ а ну да в ветке это есть
28 НЕА123
 
18.05.12
15:48
(22) проверил. точно. спасибо.
29 vitalka
 
18.05.12
15:50
спасибо всем
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.