Имя: Пароль:
1C
1С v8
Правильно ли работает Окр?
0 Domovoi
 
31.08.11
17:23
В школе учили что при округлении 1,49999 = 2
Excel  и калькулятор тоже так посчитали, а 1с написало =1

Окр(1,49999,0)=1

Это косяк 1с или я что-то не понимаю?
1 Lama12
 
31.08.11
17:25
(0) Правильно работает. В школе учили как раз так, как Окр работает.
2 zak555
 
31.08.11
17:25
не в той школе учился
3 Еклмн
 
31.08.11
17:26
Посмотри помощник синтаксиса, там все написано по -человечески
4 zbv
 
31.08.11
17:26
>> В школе учили что при округлении 1,49999 = 2.

где это так учили ? Всегда было 1.

Ексель, ктати тоже 1 выдает, если правильно округлять.
5 Живой Ископаемый
 
31.08.11
17:26
"В школе учили что при округлении 1,49999 = 2 "
перестань врать!
6 Domovoi
 
31.08.11
17:27
От последнего знака начинают округлять а 1с получается тупо отбросила эти знаки.
7 Ненавижу 1С
 
гуру
31.08.11
17:27
(0) вас в какой школе учили, нас учили, что Окр(1.49999)=1
8 Domovoi
 
31.08.11
17:27
Зачем мне врать?
9 Еклмн
 
31.08.11
17:27
В школе учили что при округлении 1,49999 = 2.

где это так учили ? Всегда было 1. 1,4999 = 1,50
10 Еклмн
 
31.08.11
17:27
все верно
11 Ненавижу 1С
 
гуру
31.08.11
17:28
(6) нда... какие школы, такие и специалисты
12 Aprobator
 
31.08.11
17:29
(8) вот это уже пугает. гы - округление по школе ТС 1,4999 = 1,5 = 2 )))))
13 zak555
 
31.08.11
17:29
> В школе учили что при округлении 1,49999 = 2

это ты два раза округлил

1,49999 => 1,5 => 2
14 Живой Ископаемый
 
31.08.11
17:29
кажется мы выявили инопланетного шпиона
15 Domovoi
 
31.08.11
17:29
(9)А 1,5 это =2 или =1?
16 Ненавижу 1С
 
гуру
31.08.11
17:30
(15) Окр(1.5)=2
17 Мимохожий Однако
 
31.08.11
17:30
(0)"Товарищ не понимает" :-)
18 zbv
 
31.08.11
17:30
(14) двоих. :)
19 Живой Ископаемый
 
31.08.11
17:31
2(15) а что говорит 1С?
20 Domovoi
 
31.08.11
17:31
(16)ну так и я про это.
21 Domovoi
 
31.08.11
17:31
(19)1с берет по ближайшему знаку к округлению.
22 Живой Ископаемый
 
31.08.11
17:31
2(20) про что?
23 Tatitutu
 
31.08.11
17:31
(0) Там мы продаем или покупаем (с)
24 Naumov
 
31.08.11
17:31
(6) Правила округления почитай, прежде чем такое заявлять.
А правила гласят, что при округлении до n знаков после запятой, отбрасываются все значения с n+2 начиная ,после чего выполняется округление.
25 Живой Ископаемый
 
31.08.11
17:31
2(21) и правильно делает, как и учили всех в школе.
26 Lama12
 
31.08.11
17:32
Пора вводить ветки "Среда (маленькая пятница)". А то в среду народ начинает глумиться.
27 Живой Ископаемый
 
31.08.11
17:33
28 Goggy
 
31.08.11
17:36
(0) вот врунишка калькулятор тоже адЫн говорит!
29 Живой Ископаемый
 
31.08.11
17:36
30 Живой Ископаемый
 
31.08.11
17:37
31 Темный Эльф
 
31.08.11
17:37
"В военное время значение синуса может достигать четырех" (с)
32 Domovoi
 
31.08.11
17:39
Ладно, походу я дурак. Только хз что делать. Дали файлик Excel а там в цена в ячейке стоит 218,49999 и округляет до 219, а надо загрузить как видишь. Вот и хз че за херня.

(29)Пункт 3 убил просто. Я все больше чуствую себя дебилом.
Окр(42,85,1) = 42,8 это ппц.
33 Domovoi
 
31.08.11
17:41
Вот что-то меня начинает смущать
http://e-science.ru/math/theory/?t=66
34 Живой Ископаемый
 
31.08.11
17:42
2(32) это банковскйи метод - до ближайшего четного
35 zbv
 
31.08.11
17:43
(32) хм-м... у меня Эксель 218,49999 ну ни как не хочет в 219 превращать, все 218 выдает.

у тебя там случайно не формула "ОКРУГЛВВЕРХ" стоит ?
36 Aprobator
 
31.08.11
17:44
(32) чо смущает то? Описание Окр смотрел? Там есть параметр который указывает куда округлять 1.5 вверх или вниз. По умолчанию округление вверх идет.
37 Александр Б
 
31.08.11
17:45
(0) ну позорище!!! Если не умеешь округлять, постыдился бы темы на форуме создавать. А потом еще удивляются, почему 1Сников не любят
38 victuan1
 
31.08.11
17:49
(32) Делай в два этапа. Сначала округли до 2 знаков после запятой. Результат округли до целого. И твои проблемс решены.
39 Живой Ископаемый
 
31.08.11
17:55
+(38) см. (27)
40 victuan1
 
31.08.11
17:57
(39) Вот послал, так послал.
41 Aprobator
 
31.08.11
17:57
народ, а реально по ссылке кто слышал про правило №3?
42 Domovoi
 
31.08.11
17:58
Короче надо учебник искать. Куда не ткну, если подробное описание то описан мой метод округления. Я конечно ниего не утверждаю, просто хочу знать на будущее.
43 Живой Ископаемый
 
31.08.11
17:58
2(41)http://www.buhgalteria.com.ua/Hit.html?id=1985
в школе все слышали.. :)

"Математическое округление

Самый простой, известный всем со школьной скамьи, метод округления предполагает следующие действия:
– если в числе «отбрасываемая» цифра меньше 5, то число округляется в меньшую сторону;
– если в числе стоит цифра, которая равна или более 5 — в большую.
Банковское округление

Такой метод округления представляет собой несколько «модернизированный» вариант математического округления. Все числа, у которых «отбрасываемая» цифра не равна 5, округляются по правилам математического метода. А другие по следующему правилу:
– если цифра, которая стоит перед цифрой 5, четная, то округление осуществляется в меньшую сторону;
– если цифра, которая стоит перед цифрой 5, нечетная, то округление осуществляется в большую сторону.
Как отмечает Википедия, при использовании данного метода «исчезает систематическая ошибка округления при суммировании большого количества чисел».
Заметим, что и математическое, и банковское правило округления может привести к искажению результатов. Все зависит от исходных данных. Рассмотрим несколько примеров по округлению показателей баланса каждым методом. "
44 ksupalo
 
31.08.11
18:03
(0) Просто перегрелся чел... Сам недавно сталкивался с таким... У всех бывает, смеяться не надо...
45 Domovoi
 
31.08.11
18:16
Точно в файле посмотрел в ячейке стоит 218,5 с округлением до целых, а 1с считывает как 218,499... где я опять туплю?)
46 Domovoi
 
31.08.11
18:17
+(45)Если я увеличиваю разрядность в файле, то в 1с нормально чило попадает. Что я не так делаю, или так и должно быть?
47 Живой Ископаемый
 
31.08.11
18:22
2(46) вот если бы ты создал ветку, которая бы называлась "Как загрузить из Екселевского файла такое-то число, при условии что там  в ячейке так-то и так-то в 1С", к этому моменту я думаю ты бы имел уже правильный ответ... А так - 40 постов флуда под конец рабочего дня.
48 Domovoi
 
31.08.11
18:24
(47)Я зато узнал как надо округлять, для меня эти 40 постом оказались полезны. Только вот вопрос пока не решен)
49 NS
 
31.08.11
18:24
(45) При считывании из экселя округляй до количества значащих знаков, а потом уже округляй до целых.

Вроде это давно известно - при считывании по ОЛЕ всегда сначала нужно округлять до количества значащих.
50 NS
 
31.08.11
18:25
Если у тебя сумма - то Значение=Окр(ЗначениеОЛЕ,2);
Если вес, то Значение=окр(ЗначениеОле,3);
51 Domovoi
 
31.08.11
18:26
(49)А, как бы это сказать, с научной точки зрения, почему это происходит?
52 NS
 
31.08.11
18:28
(51) Объясняю - это происходит при считывании по ОЛЕ при преобразовании типов. В последнем разряде теряется единица.
53 NS
 
31.08.11
18:29
Чтоб такого не происходило, можно читать из Экселя .Text, вместо .value
54 Domovoi
 
31.08.11
18:30
Спасибо.