Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Divide by zero / 5 сообщений из 5, страница 1 из 1
04.02.2005, 11:39
    #32900905
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Divide by zero
Что-то я ничего не понимаю. Имеем такой вот код:
Код: plaintext
1.
2.
3.
4.
5.
long l1,l2,l3

SetNull(l2)

l3 = l1/l2

Согласно мануалу

Calculations with NULLWhen you form an arithmetic expression that contains a NULL value, the expression becomes NULL. Thinking of NULL as undefined makes this easier to understand.

Почему это приводит к divide by zero? Пробовал в 6, 9 - одно и тоже.
...
Рейтинг: 0 / 0
04.02.2005, 15:52
    #32901751
rcryo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Divide by zero
А если сделать так:
Код: plaintext
1.
2.
3.
4.
long l1,l2,l3
l2= 1 
SetNull(l2)
l3 = l1/l2
то все работает, как надо. В PB10 тоже самое
...
Рейтинг: 0 / 0
04.02.2005, 16:16
    #32901808
Guest_1
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Divide by zero
Интересно, а разве может переменная типа long быть равна Null ?
...
Рейтинг: 0 / 0
04.02.2005, 16:27
    #32901839
Dim2000
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Divide by zero
Абсолютно любая переменная может иметь значение Null. И, кстати, на равенство Null не проверяют ;).
____________________________________
- Гарфилд, мышь!
- Спасибо, я сыт!
...
Рейтинг: 0 / 0
04.02.2005, 18:17
    #32902126
Локшин Марк
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Divide by zero
rcryoА если сделать так:long l1,l2,l3
Код: plaintext
1.
2.
l2= 1 
SetNull(l2)
l3 = l1/l2
rcryoто все работает, как надо. В PB10 тоже самое
Да, действительно.
А если написать
Код: plaintext
1.
2.
l2= 0 
SetNull(l2)
l3 = l1/l2
то будет ошибка.
Отсюда мораль - при вычислении билдер делает что-то типа
Код: plaintext
1.
2.
l3.value = l1.value/l2.value
l3.isnull = l1.isnull || l2.isnull
Нда, умно, умно...
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Divide by zero / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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