powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Функция integer
9 сообщений из 9, страница 1 из 1
Функция integer
    #35961843
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если передавать большие числа в функцию integer то она не правильно отрабатывает. если передавать '444444123456' то возвращается 8512. Кто нить сталкивался?
...
Рейтинг: 0 / 0
Функция integer
    #35961865
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто нить (то бишь вы) документацию по СТАНДАРТНЫМ типам данных читал???
...
Рейтинг: 0 / 0
Функция integer
    #35962133
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ФилиппА кто нить (то бишь вы) документацию по СТАНДАРТНЫМ типам данных читал???
+1024
...
Рейтинг: 0 / 0
Функция integer
    #35962138
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
да это понятно что в int можно записать только от - до +32768
вот мне и надо понять входит ли введенное число в этот интервал или нет. С помощью integer() что то не получается!
...
Рейтинг: 0 / 0
Функция integer
    #35962214
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakota97да это понятно что в int можно записать только от - до +32768
вот мне и надо понять входит ли введенное число в этот интервал или нет. С помощью integer() что то не получается!
В данном случае вам нужна ф-я Dec(), т.к. число превышает размер int и long
...
Рейтинг: 0 / 0
Функция integer
    #35962278
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Anatoly Moskovsky, dec(большое число)<32700 я пробовал он тоже не всегда отрабатывает.

бывает что isnumber(большое число)=true
а вот потом dec(большое число)<32700 and dec(большое число)>-32700 на гигантских числах не отрабатыват правильно. А пользователь может понавводить любых чисел!(он их через зпт вводит)
Други, как быть?:)
...
Рейтинг: 0 / 0
Функция integer
    #35962288
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakota97dec(большое число)<32700 я пробовал он тоже не всегда отрабатывает.

бывает что isnumber(большое число)=true
а вот потом dec(большое число)<32700 and dec(большое число)>-32700 на гигантских числах не отрабатыват правильно.
Ну так у Dec тоже есть ограничения по размеру. Пробуйте longlong (< 2^64). Если допустима погрешность в младших цифрах - используйте double.
В PB нету типов кроме строки в которых можно было бы хранить число с произвольным кол. цифр без потери точности.

Вообще если вам только проверить на вместимость в Int, то сначала проверяйте длину строки. Если > 6 цифр (со знаком) - то отбрасывайте без перевода в число. А дальше используйте перевод в Long.
...
Рейтинг: 0 / 0
Функция integer
    #35962574
Dmitry..
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dakota97да это понятно что в int можно записать только от - до +32768
вот мне и надо понять входит ли введенное число в этот интервал или нет. С помощью integer() что то не получается!

если надо проверить,
Код: plaintext
1.
2.
3.
4.
5.
double d=....

if integer(d)<>d then

end if
...
Рейтинг: 0 / 0
Функция integer
    #35962631
dakota97
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
понятно
всем спасибо
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Функция integer
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]