|
Проверка четности | ☑ | ||
---|---|---|---|---|
0
Касандер72
02.02.12
✎
11:54
|
Добрый день!
Подскажите, плиз, как можно проверить четность числа? Заранее благодарю. |
|||
1
GLazNik
02.02.12
✎
11:55
|
Число/2 = Цел(Число/2)
|
|||
2
Smallrat
02.02.12
✎
11:55
|
n%2=0
|
|||
3
Ненавижу 1С
гуру
02.02.12
✎
11:55
|
Число%2=0
|
|||
4
Steel_Wheel
02.02.12
✎
11:55
|
x % 2 = 0
|
|||
5
Classic
02.02.12
✎
11:56
|
Число%2 = 0
|
|||
6
Ненавижу 1С
гуру
02.02.12
✎
11:56
|
(1) тогда уже Цел(Число/2)*2=Число
|
|||
7
Alex S D
02.02.12
✎
11:57
|
ппц.. это ж еще в школе проходят)
|
|||
8
Живой Ископаемый
02.02.12
✎
11:59
|
в Запросе? в управляемых формах? на АРМ-процессоре?
|
|||
9
Касандер72
02.02.12
✎
11:59
|
Всем спс!!!
Ещё более буду благодарен тому, кто кинет код функции старого совдеповского ГОСТовского метода округления - в зависимости от четности последнего округляемого разряда, например: Окр(1,845) = 1,84 или Окр(1,765) = 1,76 то бишь: 1,5 = 1 Окр(1,755) = 1,76 или Окр(1,635) = 1,64 то бишь: 1,5 = 2 |
|||
10
Ненавижу 1С
гуру
02.02.12
✎
12:02
|
(9) нечетные цифры увеличиваем, четные оставляем
|
|||
11
Reset
02.02.12
✎
12:06
|
А 2.5 это четное или нечетное?
|
|||
12
Касандер72
02.02.12
✎
12:06
|
(10) ыыы, знаю - мне код нужен! - может у кого завалялся?
|
|||
13
Maxus43
02.02.12
✎
12:07
|
где решения запросом? чо то как то однообразно всё
|
|||
14
Касандер72
02.02.12
✎
12:09
|
(11) ОкрГОСТа(2.5,0) = 2 !
|
|||
15
Reset
02.02.12
✎
12:12
|
Функция Четное(ч)
?(Найти(ч,","),"hz",?(Найти("02468",Прав(ч,1)),Истина,Ложь))); КонецФункции // Не ну а чо. |
|||
16
Reset
02.02.12
✎
12:17
|
(14) Т.е., по госту 2.7 - Не четное, а 2.5 - четное (не, я на самом деле слаб в гостах).
|
|||
17
Касандер72
02.02.12
✎
12:25
|
(16) рассматривается четность последней округляемой цифры
смотри пример (9) |
|||
18
Касандер72
02.02.12
✎
12:34
|
Лан, подсказчики лавайте, мож кто лучше предложит, чем это:
Функция ОкрГОСТа (перЗначение,перРазрядность) Экспорт Если перРазрядность < 0 Тогда модЗначение = перЗначение; Для Счетчик = 1 По перРазрядность Цикл модЗначение = модЗначение * 10; КонецЦикла; модЗначение = Цел(модЗначение)/2; перРежим = ?(Цел(модЗначение)=модЗначение,0,1); Возврат Окр(перЗначение,перРазрядность,перРежим); ИначеЕсли перРазрядность = 0 Тогда модЗначение = Цел(перЗначение)/2; перРежим = ?(Цел(модЗначение)=модЗначение,0,1); Возврат Окр(перЗначение,перРазрядность,перРежим); ИначеЕсли перРазрядность > 0 Тогда модЗначение = перЗначение; Для Счетчик = 1 По перРазрядность Цикл модЗначение = модЗначение * 10; КонецЦикла; модЗначение = Цел(модЗначение)/2; перРежим = ?(Цел(модЗначение)=модЗначение,0,1); Возврат Окр(перЗначение,перРазрядность,перРежим); КонецЕсли; КонецФункции // ОкрГОСТа (перЗначение,перРазрядность) |
|||
19
НЕА123
02.02.12
✎
12:35
|
ВерхЧ = Окр(Ч, Разрядность, РежимОкругления.Окр15как20);
НизЧ = Окр(Ч, Разрядность, РежимОкругления.Окр15как10); Если ВерхЧ = НизЧ Тогда //ниче не делаем Тогда РезЧ = НизЧ; ИначеЕсли Найти("02468", Прав(""+НизЧ,1))>0 Тогда //было чет, не увеличенное берем РезЧ = НизЧ; Иначе РезЧ = ВерхЧ; КонецЕсли; |
|||
20
НЕА123
02.02.12
✎
12:38
|
+(19)
ээээ.... про нули че-то забыл. |
|||
21
НЕА123
02.02.12
✎
12:41
|
ВерхЧ = Окр(Ч, Разрядность, РежимОкругления.Окр15как20);
НизЧ = Окр(Ч, Разрядность, РежимОкругления.Окр15как10); Если ВерхЧ = НизЧ Тогда //ниче не делаем Тогда РезЧ = НизЧ; ИначеЕсли Найти("02468", Прав(Формат(НизЧ, "ЧДЦ"+Разрядность),1))>0 Тогда //было чет, не увеличенное берем РезЧ = НизЧ; Иначе РезЧ = ВерхЧ; КонецЕсли; |
|||
22
Reset
02.02.12
✎
13:47
|
(18) Без богомерзкого анализа строки, но с богомерзкой pow:
|
|||
23
Reset
02.02.12
✎
13:48
|
+(22) Пришел с обеда. Извините за ап.
|
|||
24
Касандер72
02.02.12
✎
15:53
|
(22) здесь по ходу что-то пропущено, но смысла не лишено
|
|||
25
НЕА123
03.02.12
✎
09:19
|
Функция ОкрГОСТа(перЗначение,перРазрядность)
возврат ОКР(перЗначение, перРазрядность, ?( Цел(перЗначение * pow(10, перРазрядность)) %2 = 0, РежимОкругления.Окр15как10, РежимОкругления.Окр15как20)) КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |