|
округление в большую | ☑ | ||
---|---|---|---|---|
0
Chameleon1980
03.09.15
✎
15:50
|
пережовано, но
округление в большую чет не могу найти |
|||
1
ДенисЧ
03.09.15
✎
15:51
|
цел(чч + 0.5)
|
|||
2
Ненавижу 1С
гуру
03.09.15
✎
15:56
|
(1) 1.01 превратится в 1.00
|
|||
3
Ненавижу 1С
гуру
03.09.15
✎
16:00
|
?(Ч=Цел(Ч), Ч, Цел(Ч)+1)
|
|||
4
bolobol
03.09.15
✎
16:13
|
-ЦЕЛ(-ОКР)
|
|||
5
wertyu
03.09.15
✎
16:16
|
Цел(а) + 1
|
|||
6
bolobol
03.09.15
✎
16:17
|
(5) 1 превратится в 2.
|
|||
7
Chameleon1980
03.09.15
✎
16:21
|
поэксперимнтируем
|
|||
8
Chameleon1980
03.09.15
✎
16:21
|
пердоне - пиво млин
|
|||
9
Fragster
гуру
03.09.15
✎
16:22
|
Окр(Перем + 0.5, 0, РежимОкругления.Окр15как10)
|
|||
10
Chameleon1980
03.09.15
✎
16:23
|
0,0625
0,0315 0,355 0,554 |
|||
11
Chameleon1980
03.09.15
✎
16:23
|
2,04
2,36 4,72 |
|||
12
bolobol
03.09.15
✎
16:24
|
Оу... прямая трансляция с 1с пошла...
|
|||
13
Ildarovich
03.09.15
✎
16:29
|
Можно еще вот так:
М - Цел(М - Ч) где М = 9999999999 или больше, при необходимости. Лучше, чем (3), если Ч - выражение. Хуже тем, что нужно задавать М. |
|||
14
wertyu
03.09.15
✎
16:33
|
(13) Цел(а + 1) - Цел(Цел(а + 1) - а)
|
|||
15
bolobol
03.09.15
✎
16:33
|
Чего огород городите, товарищи, проще чем через двойной минус - не бывает
|
|||
16
mikecool
03.09.15
✎
16:36
|
||||
17
Fragster
гуру
03.09.15
✎
16:36
|
(15) ага, только не работает :)
|
|||
18
Fragster
гуру
03.09.15
✎
16:36
|
работает (9), например
|
|||
19
Chameleon1980
03.09.15
✎
16:37
|
?(Ч=Цел(Ч), Ч, Цел(Ч)+1)
Исходное: 1.2 Нужное: 2 Исходное: 3.2 Нужное: 4 Исходное: 4.023 Нужное: 5 |
|||
20
wertyu
03.09.15
✎
16:42
|
(18) только Окр15Как20
|
|||
21
bolobol
03.09.15
✎
16:44
|
(20) Нет, в (9) как раз правильно, т.к. иначе 1.00 превратится в 2.
(18) Спасибо! Багу сию запомним... |
|||
22
wertyu
03.09.15
✎
16:45
|
(21) 1.3 тогда в 1 превратится
|
|||
23
Fragster
гуру
03.09.15
✎
16:46
|
(20) нет.
|
|||
24
Fragster
гуру
03.09.15
✎
16:46
|
(22) проверь уже...
|
|||
25
wertyu
03.09.15
✎
16:46
|
(23) тогда вообще не работает
|
|||
26
Ненавижу 1С
гуру
03.09.15
✎
16:46
|
(19) с тебя 300р. на телефон
|
|||
27
Fragster
гуру
03.09.15
✎
16:46
|
(21) это не бага
|
|||
28
Fragster
гуру
03.09.15
✎
16:47
|
(25) работает
|
|||
29
wertyu
03.09.15
✎
16:47
|
(24) надежнее (3) и (13) с (14)
|
|||
30
wertyu
03.09.15
✎
16:47
|
(27) если работает, то 100% баг
|
|||
31
Fragster
гуру
03.09.15
✎
16:48
|
Х = 1.9999999999;
Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = 1.0000000001; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = 1.5000000001; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = 1.4999999999; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = 1.5; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); |
|||
32
Fragster
гуру
03.09.15
✎
16:48
|
(30) нет
|
|||
33
wertyu
03.09.15
✎
16:50
|
(32) да в (31) по порядку должно быть 2, 1, 2, 1, 2, если везде 2, то это баг
|
|||
34
Ненавижу 1С
гуру
03.09.15
✎
16:50
|
(33) почему?
|
|||
35
Fragster
гуру
03.09.15
✎
16:51
|
(34) потому что wertyu не видит + 0.5
|
|||
36
Fragster
гуру
03.09.15
✎
16:54
|
либо не включает мозг
|
|||
37
Timon1405
03.09.15
✎
16:55
|
(3) не работает для X=-1,5, а (9) работает
|
|||
38
Ненавижу 1С
гуру
03.09.15
✎
17:00
|
(37) согласен, для отрицательных не работает
|
|||
39
Fragster
гуру
03.09.15
✎
17:06
|
(37) для отрицательных (9) тоже неправильно работает
|
|||
40
Fragster
гуру
03.09.15
✎
17:06
|
Х = 1.9999999999;
Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = 1.0000000001; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = 1.5000000001; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = 1.4999999999; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = 1.5; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = 1; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = -1.9999999999; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = -1.0000000001; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = -1.5000000001; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = -1.4999999999; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = -1.5; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); Х = -1; Сообщить("" + Х + " - " + Окр(Х + 0.5, 0, РежимОкругления.Окр15как10)); |
|||
41
wertyu
03.09.15
✎
17:09
|
(40) а (13) и (14) работает правильно
|
|||
42
Fragster
гуру
03.09.15
✎
17:16
|
(41) ты проверил на данных из (40)?
|
|||
43
wertyu
03.09.15
✎
17:28
|
(42) даже можно упростить
Цел(а) - Цел(Цел(а) - а) |
|||
44
DS
03.09.15
✎
17:42
|
(43) проверь 2.5
|
|||
45
wertyu
03.09.15
✎
17:51
|
(44) значит всё-таки (13) и (14)
хотя по идее Цел(а + 1) = Цел(а) + 1 |
|||
46
wertyu
03.09.15
✎
17:54
|
(44) это из-за бага Цел(-1.5) = -1 вместо -2
|
|||
47
bolobol
03.09.15
✎
17:59
|
(27) Это документировано так у 1С??
|
|||
48
Fragster
гуру
03.09.15
✎
18:06
|
(47) открой СП
|
|||
49
DTXyupyup
03.09.15
✎
19:39
|
(15) +
|
|||
50
NewNick
03.09.15
✎
21:01
|
работают только (14) и (43) что впрочем и понятно
(19) будет работать если выражение слегка модернизировать Цел(Ч)+(Ч<>Цел(Ч))*(Цел(Ч)*2+1)%2 кто захочет побаловаться тест из (40) в нормальном виде Процедура Округлить(Ч) Сообщить("" + Ч + " - " + (Цел(Ч)+(Ч<>Цел(Ч))*(Цел(Ч)*2+1)%2)); КонеЦПроцедуры Округлить(1.9999999999); Округлить(1.0000000001); Округлить(1.5000000001); Округлить(1.4999999999); Округлить(1.5); Округлить(1); Округлить(-1.9999999999); Округлить(-1.0000000001); Округлить(-1.5000000001); Округлить(-1.4999999999); Округлить(-1.5); Округлить(-1); |
|||
51
NewNick
03.09.15
✎
21:07
|
(50)
впрочем (19) можно записать еще так Цел(Ч)+(Ч<>Цел(Ч))*(1-2*(Ч<0)) |
|||
52
NewNick
03.09.15
✎
21:55
|
(43) кстати не работает.
|
|||
53
Фокусник
03.09.15
✎
22:25
|
(0) окр(ч+0,49999999999999999999999999)
|
|||
54
NewNick
03.09.15
✎
22:39
|
(53) не спортивно. но работает.
|
|||
55
DS
04.09.15
✎
09:55
|
(46) Согласен. Но такая уж у 1с функция.
|
|||
56
bolobol
04.09.15
✎
10:47
|
(48) На к0к0й странице?
|
|||
57
bolobol
04.09.15
✎
11:05
|
Перерыл, кстати, яндекс... В отдельных местах даже пишут, что отрицательное число можно представить в виде положительного и тогда для него будет действовать "обычное" правило округления. И это несмотря на то, что округляться обязан "ответ задачи", а результат вычислений за пару шагов до ответа. Одна каша какая-то. Есть у кого тру-линк на вопрос?
|
|||
58
bolobol
04.09.15
✎
11:06
|
* "...а результат..." читать как "...а не промежуточный результат..."
|
|||
59
DS
04.09.15
✎
11:08
|
Честно говоря, не понимаю проблемы. Задача решена? Решена. Что не ясно?
|
|||
60
Ненавижу 1С
гуру
04.09.15
✎
11:16
|
(59) оплаты (26) не было
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |