![]() |
![]() |
![]() |
|
Округлить в большую сторону до целого | ☑ | ||
---|---|---|---|---|
0
manyak
10.04.09
✎
10:54
|
число необходимо округить до целого: 1.1 нужно округлить до 2, посоветуйте как?
|
|||
1
lamme
10.04.09
✎
10:56
|
ТвоеЧисло = 1,1
Цел(ТвоеЧисло/ТвоеЧисло)+1 гы ... не ? (наугад придумал ... могут быть косяки) |
|||
2
IronDemon
10.04.09
✎
10:56
|
прибавить 0.5 и округлить
|
|||
3
Ненавижу 1С
гуру
10.04.09
✎
10:57
|
?(Цел(Ч)=Ч,Ч,Цел(Ч)+1)
|
|||
4
Ненавижу 1С
гуру
10.04.09
✎
10:57
|
(1)(2) не верно
|
|||
5
Mitriy
10.04.09
✎
10:57
|
(2) 0,4
|
|||
6
lamme
10.04.09
✎
10:57
|
(4)
почему ? |
|||
7
Ненавижу 1С
гуру
10.04.09
✎
10:58
|
(6)
ТвоеЧисло = 10,1 Цел(ТвоеЧисло/ТвоеЧисло)+1 результат 2 |
|||
8
Irbis
10.04.09
✎
10:58
|
(1) Незачет. При целом неверно округлиться
|
|||
9
ShoGUN
10.04.09
✎
10:59
|
(5) Фуфел. 1,05 округли.
|
|||
10
lamme
10.04.09
✎
10:59
|
(7)
а .. точно ! косяк ... |
|||
11
Mitriy
10.04.09
✎
10:59
|
(3) не взлетит...
|
|||
12
Ненавижу 1С
гуру
10.04.09
✎
11:00
|
(11) обоснуй
|
|||
13
ShoGUN
10.04.09
✎
11:00
|
(11) Взлетит, причем запросто.
|
|||
14
Mitriy
10.04.09
✎
11:00
|
(8) сам ты... в сабже точность задано до десятых...
|
|||
15
ShoGUN
10.04.09
✎
11:01
|
(14) Ничего в сабже не задано. С тем же успехом там могло быть 1,308 или 3,08.
|
|||
16
НЕА123
10.04.09
✎
11:01
|
(2)+1
Окр(ЧислоКакоеТо + 0.5, 0, 0) |
|||
17
Mitriy
10.04.09
✎
11:01
|
(12) взлетит... Вижу Цел, думаю Окр... пардонте...
|
|||
18
manyak
10.04.09
✎
11:02
|
10х
|
|||
19
НЕА123
10.04.09
✎
11:03
|
П Я Т Н И Ц А ! ! !
|
|||
20
Mitriy
10.04.09
✎
11:03
|
(15) в общем, иди лесом, ты мне неинтересен...
|
|||
21
YurOK_51
10.04.09
✎
11:04
|
Число = 5,3;
ЦелаяЧасть = Цел(Число); ДробнаяЧасть = Число - ЦелаяЧасть; КонечноеЧисло = ?(ДробнаяЧасть=0,ЦелаяЧасть,ЦелаяЧасть +1);//6 |
|||
22
Aprobator
10.04.09
✎
11:05
|
НужноеЧисло = Цел(ТвоеЧисло + 1);
|
|||
23
Mitriy
10.04.09
✎
11:06
|
(22) целые в пролете...
|
|||
24
YurOK_51
10.04.09
✎
11:07
|
(22)А если НужноеЧисло = 1,00 Тогда будет 2
|
|||
25
Aprobator
10.04.09
✎
11:07
|
(22) опс - забыл условие
Если Цел(ТвоеЧисло) <> ТвоеЧисло Тогда НужноеЧисло = Цел(ТвоеЧисло + 1) Иначе НужноеЧисло = ТвоеЧисло; КонецЕсли |
|||
26
Mitriy
10.04.09
✎
11:08
|
(25) см (3)
|
|||
27
Ненавижу 1С
гуру
10.04.09
✎
11:08
|
(25) это все написано в (3)
|
|||
28
Aprobator
10.04.09
✎
11:09
|
(27) для меня это было слишком высоко. По сути - согласен :).
|
|||
29
Ненавижу 1С
гуру
10.04.09
✎
11:10
|
Хотя и это может быть не верно, смотря что понимать под целой частью
Математически Цел(-1.2)=-2, однако 1С выдает Цел(-1.2)=-1 |
|||
30
Aprobator
10.04.09
✎
11:10
|
(27) нефига не то - в (3) ошибка. Вместо Цел(Ч) + 1 надо Цел(Ч + 1)
|
|||
31
Mitriy
10.04.09
✎
11:11
|
(30) здОрово ))
|
|||
32
НЕА123
10.04.09
✎
11:12
|
(30)
хе... Цел(Ч) + 1 = Цел(Ч + 1) |
|||
33
Ненавижу 1С
гуру
10.04.09
✎
11:12
|
Цел(Ч) + 1 = Цел(Ч + 1)
|
|||
34
НЕА123
10.04.09
✎
11:13
|
(33)
плагиатор... |
|||
35
Ненавижу 1С
гуру
10.04.09
✎
11:14
|
(34) ;-)
|
|||
36
Aprobator
10.04.09
✎
11:14
|
(33) о, блин, вот что значит руки вперед головы летят. Согласен - в (30) был неправ
|
|||
37
Ненавижу 1С
гуру
10.04.09
✎
11:14
|
так что насчет (29)
|
|||
38
НЕА123
10.04.09
✎
11:15
|
и все-таки (2) и (16) лучшее.
|
|||
39
hhhh
10.04.09
✎
11:16
|
(38) но не работает, если целое число.
|
|||
40
НЕА123
10.04.09
✎
11:19
|
(39)
проверь в табло. |
|||
41
ShoGUN
10.04.09
✎
11:20
|
(39) Работает, потому что округлять можно по-разному.
|
|||
42
Aprobator
10.04.09
✎
11:22
|
ЦелаяЧастьЧисла = Цел(ТвоеЧисло);
Если ЦелаяЧастьЧисла = ТвоеЧисло Тогда НужноеЧисло = ТвоеЧисло; Иначе ЗнакТвоегоЧисла = ?(ЦелаяЧастьЧисла < 0, -1, 1); ЧислоДляОкругления = ЦелаяЧастьЧисла * ЗнакТвоегоЧисла; ОкругленноеЧисло = Цел(ЧислоДляОкругления) + 1; НужноеЧисло = ОкругленноеЧисло * ЗнакТвоегоЧисла; КонецЕсли; |
|||
43
Aprobator
10.04.09
✎
11:23
|
(+42) это если из -2.2 надо -3 получить :)
|
|||
44
vmv
10.04.09
✎
11:25
|
//////////////////////////////// специальные режимы округления
Функция ОкруглитьКратно(Знач Значение, ОкруглениеДо)Экспорт // Значение должно быть неотрицательным числом любой разрядности // ОкруглениеДо должен быть целым неотрицательным числом! // Округление только в большую сторону - в этом смысл откругления кратно шагу, // даже если ОкруглениеДо = 0. Если Значение = 0 Тогда Возврат 0; КонецЕсли; Если ОкруглениеДо = 0 Тогда Возврат Окр(Значение, 4, 1); КонецЕсли; ЦелоеЗначение = Цел(Значение); Если ЦелоеЗначение = 0 Тогда Возврат ОкруглениеДо; КонецЕсли; // наличие дробной части "округляет" до целой части минимум на 1 единицу при не нулевом шаге. ЦелоеЗначение = ЦелоеЗначение + ?(Значение % ЦелоеЗначение = 0, 0, 1); // прибавляем к ЦелоеЗначение единицу до тех пор, пока оно не станет кратно ОкруглениеДо. Пока Истина Цикл Если ЦелоеЗначение % ОкруглениеДо = 0 Тогда Прервать; КонецЕсли; ЦелоеЗначение = ЦелоеЗначение + 1; КонецЦикла; Возврат ЦелоеЗначение; КонецФункции |
|||
45
hhhh
10.04.09
✎
11:26
|
(40) да, правда.
|
|||
46
ShoGUN
10.04.09
✎
11:28
|
Очередной пятничный конкурс извращений
|
|||
47
НЕА123
10.04.09
✎
11:29
|
автора куда-то потеряли... али испугался?
|
|||
48
Aprobator
10.04.09
✎
11:29
|
(46) встряска мозгов перед выходными :).
|
|||
49
Aprobator
10.04.09
✎
11:30
|
(47) у него наверное весь трафик после такого вышел
|
|||
50
Aprobator
10.04.09
✎
11:30
|
не знаю как со знаком, но вообще в (16) самое элегантное решение.
|
|||
51
manyak
10.04.09
✎
11:34
|
(47) см (18)
|
|||
52
НЕА123
10.04.09
✎
12:07
|
(51) пост (12) не понял.
Цел(ЧислоКакоето) + pow(0, pow(0, ЧислоКакоето % 1)) пятница... |
|||
53
НЕА123
10.04.09
✎
12:07
|
не (12),а (18).
|
|||
54
73
10.04.09
✎
12:10
|
(53) Это типа спасибо ( tenx )
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |