Текущее время: Вс, июл 20 2025, 15:13

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Как проверить число на целое не целое?
СообщениеДобавлено: Вт, ноя 14 2006, 12:19 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, авг 02 2006, 15:26
Сообщения: 97
Типа

1.0 True
1.34 False
2.55 FALSE
3.0 true


как проще?


Заранее спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 12:39 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, мар 10 2006, 10:26
Сообщения: 84
попробуйте посмотреть ФМ CONVERT_STRING_TO_INTEGER,
там такие проверки выполняются.
а вообще-то еще есть ФМ CY_IS_INTEGER, который все собственно и делает.
------------------- UPD ----------------------
почитал, что там дальше пишут и понял, что эти ФМ не сработают)


Последний раз редактировалось Kanev Ср, ноя 15 2006, 09:52, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 12:48 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Code:
DATA:
  integer TYPE i,
  to_test TYPE f,
  delta TYPE f.


  integer = to_test.
  delta = to_test - integer.
  IF delta NE 0.
     is_integer = false. " ессно в реале  = ' '
  ELSE.
     is_integer = true. " ессно - 'X'
  ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 13:22 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, май 04 2005, 16:29
Сообщения: 687
Откуда: Нижневартовск->Москва
Пол: Мужской
Как вариант
Code:
IF FRAC( value ) = 0.
  ...
ENDIF.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: ))
СообщениеДобавлено: Вт, ноя 14 2006, 17:14 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, окт 21 2004, 11:27
Сообщения: 144
Откуда: Москва
Пол: Мужской
ну ещЁ можно найти следующий символ за разделителем и сравнить с нулЁм :roll:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ))
СообщениеДобавлено: Вт, ноя 14 2006, 18:07 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
zSEA написал:
ну ещЁ можно найти следующий символ за разделителем и сравнить с нулЁм :roll:


И как быть с 9,004 ? :)

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ))
СообщениеДобавлено: Вт, ноя 14 2006, 18:09 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
zSEA написал:
ну ещЁ можно найти следующий символ за разделителем и сравнить с нулЁм :roll:

Можно еще сделать циклический сдвиг всех битов вправо. Если sy-subrc = 0, то значит было целое


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: re
СообщениеДобавлено: Вт, ноя 14 2006, 18:14 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
плавающая точка и значащий бит в мантиссе не помешают?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: ))
СообщениеДобавлено: Вт, ноя 14 2006, 18:15 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
zSEA написал:
ну ещЁ можно найти следующий символ за разделителем и сравнить с нулЁм :roll:


а что если число 2.000000005 ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 18:16 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
стормозил... :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 18:17 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
Оператор MOD это целочисленный остаток от деления.... а с плавающей точкой есть?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, ноя 14 2006, 18:20 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
еще вариант:
if( X DIV 1 <> X).
.....
Endif.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 15 2006, 09:18 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Arman написал(а):
еще вариант:
if( X DIV 1 <> X).
.....
Endif.


В версии 4 не сработает точно - нельзя использовать выражения в условии. Вариант T также не пройдет :)
А в более старших версиях сработает?

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 15 2006, 09:36 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Даешь самый извратный метод вычисления целостности!!! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, ноя 15 2006, 09:46 
Президент
Президент
Аватара пользователя

Зарегистрирован:
Ср, янв 12 2005, 13:39
Сообщения: 2811
Откуда: замкадыш
lumer написал:
Даешь самый извратный метод вычисления целостности!!! :)


Пожалуйста:

Code:

DATA: IS_CELOE TYPE C,
          CHISLO TYPE F.

CLEAR IS_CELOE.

WHILE CHISLO >= 0.

CHISLO = CHISLO - 1.
IF CHISLO = 0.
IS_CELOE = 'X'.
ENDIF.

ENDWHILE.

_________________
Что бы выловить случайную ошибку нужно добиться устойчивости её появления.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2, 3  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB