|
|
|
Округлить число до ближайшего целого без условий можно? | ☑ | ||
|---|---|---|---|---|
|
0
palpetrovich
27.10.11
✎
15:58
|
костыль типа:
Окр(Количество+0.5, 0, РежимОкругления.Окр15как20); хромает в случае если Количество изначально целое число и его менять не надо зы: не то что-бы мне трудно нарисовать уловие, протсо интересно, можно-ли обойтись без него? |
|||
|
1
Ненавижу 1С
гуру
27.10.11
✎
15:59
|
"Округлить число до ближайшего целого" это просто Окр(Количество)
|
|||
|
2
vmv
27.10.11
✎
16:00
|
в типовых видел метод округлить кратно N, да и самому написать проблема что ли
|
|||
|
3
palpetrovich
27.10.11
✎
16:01
|
блин, я имею ввиду до ближайщего БОЛЬШЕГО целого
|
|||
|
4
Ненавижу 1С
гуру
27.10.11
✎
16:02
|
(3) Окр15Как10 пробовал?
|
|||
|
5
palpetrovich
27.10.11
✎
16:02
|
вот к примеру, вроде как: Цел(ДробноеЗначение)+1 решает проблемку, но только если число точно дробное
|
|||
|
6
DrShad
27.10.11
✎
16:03
|
(30) окр(Количество,0) +1
|
|||
|
7
Рэйв
27.10.11
✎
16:03
|
Округление до ближайшего большего целого:
А=А+1 |
|||
|
8
palpetrovich
27.10.11
✎
16:03
|
(4) зачем? ...ну или как, если знаешь?
|
|||
|
9
acsent
27.10.11
✎
16:04
|
Окр(Число+0.5, 0)
|
|||
|
10
Ненавижу 1С
гуру
27.10.11
✎
16:04
|
(8) вот так:
Окр(Количество+0.5, 0, РежимОкругления.Окр15как10); |
|||
|
11
palpetrovich
27.10.11
✎
16:04
|
(6) т.е. окр(Количество,0, Окр15Как10) +1
|
|||
|
12
acsent
27.10.11
✎
16:04
|
Окр(Число+0.49999, 0)
|
|||
|
13
acsent
27.10.11
✎
16:05
|
(12) девяток можно добавить по количеству значащих цифр в параметре
|
|||
|
14
palpetrovich
27.10.11
✎
16:06
|
(10) ага, кажись покатит
(12) да ну :) |
|||
|
15
ado
27.10.11
✎
16:07
|
(5)
Оно? |
|||
|
16
Ненавижу 1С
гуру
27.10.11
✎
16:08
|
(15) зачем? когда есть (10)
|
|||
|
17
Fragster
гуру
27.10.11
✎
16:09
|
т.е. 3-й параметр автору ни на что не намекнул?
все-таки не умеют 95% 1сников мозгом пользоваться... |
|||
|
18
palpetrovich
27.10.11
✎
16:09
|
(5) не, это-ж условие, (10) - рулИт :)
всем спасибо |
|||
|
19
palpetrovich
27.10.11
✎
16:09
|
(17) а некоторые любят делать быстрые вывады :)
|
|||
|
20
palpetrovich
27.10.11
✎
16:10
|
* вывады = выводы
|
|||
|
21
palpetrovich
27.10.11
✎
16:26
|
забавно, замер производительности:
Количество = Окр(Количество+0.5, 0, РежимОкругления.Окр15как10); // - 0,000074 Количество = ?(Цел(Количество) = Количество, Количество, Цел(Количество) + 1); //- 0,000070 |
|||
|
22
Ненавижу 1С
гуру
27.10.11
✎
16:34
|
ну все, это прорыв
замер производил надеюсь на 1000000 итераций? |
|||
|
23
aka AMIGO
27.10.11
✎
16:40
|
Число%1+1
|
|||
|
24
aka AMIGO
27.10.11
✎
16:41
|
+23 вру!!..
отбой!!! ;)) |
|||
|
25
palpetrovich
27.10.11
✎
16:42
|
(22) :)
|
|||
|
26
Reset
27.10.11
✎
16:43
|
во как у меня
Первая строка 13,599758 сек Вторая 9,994055 |
|||
|
27
Fragster
гуру
27.10.11
✎
16:44
|
(12) а так еще быстрее:
ЦК = Цел(Количество); Количество = ?(ЦК = Количество, Количество, ЦК + 1); Но в любом случае эта экономия не стоит того. Да и проверять (21) надо бы на 10000 итераций |
|||
|
28
Fragster
гуру
27.10.11
✎
16:44
|
(26) обе строки в 1 цикл запихай, чтобы флуктуации меньше влияли
|
|||
|
29
Reset
27.10.11
✎
16:45
|
(27) 9,607401
Рекорд :) |
|||
|
30
Fragster
гуру
27.10.11
✎
16:47
|
(29) еще быстрее должно быть ?(ЦК <> Количество, ЦК + 1, Количество); но тут я уже не уверен
|
|||
|
31
Fragster
гуру
27.10.11
✎
17:09
|
Количество = Окр(ИсхКоличество+0.5, 0, РежимОкругления.Окр15как10); 2,836583
Количество = ?(Цел(ИсхКоличество) = ИсхКоличество, ИсхКоличество, Цел(ИсхКоличество) + 1); 2,065987 ЦК = Цел(ИсхКоличество); Количество = ?(ЦК = ИсхКоличество, ИсхКоличество, ЦК + 1); 1,703989 ЦК = Цел(ИсхКоличество); Количество = ?(ЦК <> ИсхКоличество, ЦК + 1, ИсхКоличество); 1,603781 |
|||
|
32
palpetrovich
27.10.11
✎
17:16
|
(31) круто :)
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |