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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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