Имя: Пароль:
1C
1C 7.7
v7: Как узнать - целое число или дробное?
0 Melcor
 
12.06.12
12:34
Есть ли функция в 1С7.7 для определения дробного и целого числаю
1 Aleksey
 
12.06.12
12:36
целое()
2 Melcor
 
12.06.12
12:36
оно вернет целое значение, а не 1 или 0
3 zak555
 
12.06.12
12:36
Фунция ДровноеЧисло (Чис)
   Возврат Чис = Цел(Чис);
КонецФункции
4 Aleksey
 
12.06.12
12:36
тьфу всё время с екселем путаю

Цел(<?>)
Синтаксис:
Цел(<Число>)
Назначение:
Возвращает значение целой части параметра.
Параметры:
<Число> - числовое выражение.
5 Aleksey
 
12.06.12
12:38
(3) Это 7-ка, так что тут нет булево

Функция ДробноеЧисло (Чис)
   Возврат ?(Чис = Цел(Чис),1,0);
КонецФункции
6 zak555
 
12.06.12
12:38
(5) смысл-то понятен
7 Melcor
 
12.06.12
12:38
Ну да, целое мне вернет, а было оно дробным или нет, я так и не узнаю
8 Андрюха
 
12.06.12
12:40
Ну сравни с оргиналом:
Если Цел(ТвоеЧисло) = ТвоеЧисло Тогда
   Предупреждение("Целое");
Иначе
   Предупреждение("Дробное");
КонецЕсли;
9 aleks-id
 
12.06.12
12:40
(7) теоретик?
10 Aleksey
 
12.06.12
12:40
(7) и что? Команда ?(,,) тебе знакома?
11 Melcor
 
12.06.12
12:40
спасибо 5 помог
12 Aleksey
 
12.06.12
12:41
(6) Как видишь нет :)
13 1Сергей
 
12.06.12
12:46
Если (Чис%1 = 0) тогда
   Возврат 1;
Иначе
   Возврат 0;
КонецЕсли;
14 andrewks
 
12.06.12
13:18
(2) подумать не пробовал?
15 Aleksey
 
12.06.12
13:20
(14) Ты что такое говоришь? Здесь на форуме такие слова запрещены(!). Сюда люди приходят за готовыми решениями, а не для того чтобы думать
16 zak555
 
12.06.12
13:28
(13) остаток от деления предусмотрен с целыми циласми
17 zak555
 
12.06.12
13:28
*числами
18 1Сергей
 
12.06.12
13:47
(16) прав. !!!(13) не читать, там ересь!!!
19 Прохожий
 
12.06.12
15:33
(18) Ах ты проклятый! Изыди!
20 Эмбеддер
 
12.06.12
16:16
И вообще в семерке нет остатка от деления, только деление
21 Aleksey
 
12.06.12
16:21
(20) Т.е. оператор "%" не работает в 7-ке с целыми числами?
22 MishaD
 
12.06.12
16:47
(21) Ради спортивного интереса запустил 7-ку. Не работает с дробными числами. Предварительно округляет их до целых. Так что (13) явная ересь. Где инквизиторы ? На костер его, на костер
23 Aleksey
 
12.06.12
16:51
(21) Читай внимательно. Я так и написал
24 Aleksey
 
12.06.12
16:53
Т.е. остатка от деления дробных числе (или на дробные) нет, а остаток от деления целого на целое - есть
25 MishaD
 
12.06.12
16:54
не тебя на костер. (13), ну и (20) за компанию :-)
26 Strogg
 
12.06.12
16:55
Ы
Если Цел(число) - Число = 0 Тогда
Сообщить("Целое")
Иначе
Сообщить("Поломанное")
КонецЕсли;
27 MishaD
 
12.06.12
16:56
Из табло: 6.55%4.54 = 2, так что остаток все-таки есть. Только дробные вначале округляются
28 Aleksey
 
12.06.12
16:58
(27) Угу, поэтому если в делители число меньше 1 (например 0.33), то пишет деление на ноль
29 MishaD
 
12.06.12
17:01
меньше 0.5, уж если быть совсем точным
30 Агент Инфостарта
 
14.06.12
15:28
Миста уже не торт. Вот раньше ...  v8: Как узнать - Четное число или нет?
Эх, были люди в наше время.
31 mikecool
 
14.06.12
15:31
(20) а ты таки выкупил у Мани его логан?
32 1Сергей
 
14.06.12
15:58
Функция ДробноеЧисло (Чис)
   Возврат ?(Найти(""+Чис, ".")>0, 1, 0);
КонецФункции
33 Эмбеддер
 
14.06.12
18:23
(31) нет, зато на заднем фоне 3 желтых машины - мои)))
Ошибка? Это не ошибка, это системная функция.