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

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

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

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

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

if integer(d)<>d then

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


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