Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / не отрабатывает условие / 18 сообщений из 18, страница 1 из 1
30.04.2015, 12:10
    #38949533
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
Здравствуйте.

в процедуре есть две переменные numeric(15.2).

переменные инициализируются запросами.

и условие if (:summa2 > :summa1) then

переменные равны

в дэбагере в эксперте все отрабатывает нормально.

А непосредственно при запуске процедуры срабатывает данное условие.


Что не так?


Спасибо
...
Рейтинг: 0 / 0
30.04.2015, 12:24
    #38949555
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
диалект какой?
...
Рейтинг: 0 / 0
30.04.2015, 12:29
    #38949560
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
Ivan_Pisarevsky,

Первый.

Еще вчера такого не замечал по этой процедуре.

причем если summa2 уменьшить на единицу - все ок
...
Рейтинг: 0 / 0
30.04.2015, 12:35
    #38949570
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
sergqПервый.
Твой numeric(15,2) это на самом деле double precision со всеми вытекающими.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.04.2015, 12:38
    #38949576
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
Dimitry Sibiryakov,

чет я тогда запутался совсем ) на просторах инета высказывалось мнение, что деньги надо хранить в numeric(15.2)

или я опять что-то попутал?

До сих пор работало все
...
Рейтинг: 0 / 0
30.04.2015, 12:53
    #38949598
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
sergqили я опять что-то попутал?недоделал.
sergqДо сих пор работало всепросто везло.

numeric(15,2) в третьем диалекте даст тебе ожидаемый результат.
...
Рейтинг: 0 / 0
30.04.2015, 12:55
    #38949599
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
sergqна просторах инета высказывалось мнение, что деньги надо хранить в numeric(15.2)

или я опять что-то попутал?
Диалект. Надо использовать третий.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.04.2015, 12:58
    #38949606
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
Dimitry Sibiryakov,

в первом извратиться никак нельзя малой кровью?
...
Рейтинг: 0 / 0
30.04.2015, 13:04
    #38949616
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
sergqв первом извратиться никак нельзя малой кровью?
можно. но сравнение переменных типа double на равенство считай что не работает.
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=374
...
Рейтинг: 0 / 0
30.04.2015, 13:06
    #38949620
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
используй приближенную арифметику.
например:
два числа равны между собой, если разница между ними не превышает 0.001.
и т.п. сформулируй для своей бизнес логики правила и программируй.
...
Рейтинг: 0 / 0
30.04.2015, 14:44
    #38949750
rstrelba
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
Ivan_Pisarevsky,

round(x1,2)<>round(x2,2)
...
Рейтинг: 0 / 0
30.04.2015, 15:44
    #38949853
Ivan_Pisarevsky
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
rstrelbaround(x1,2)<>round(x2,2)ниочем, "те же яйца, токмо в профиль".

А вот abs(x1-x2)<0.001 при неком допущении с т.з. бизнес логики вполне себе условие равенства.
...
Рейтинг: 0 / 0
30.04.2015, 15:47
    #38949857
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
rstrelbaround(x1,2)<>round(x2,2)
Да пофиг: число с плавающей точкой точным не станет хоть заокругляйся.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
30.04.2015, 21:27
    #38950080
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
kdv,

третий диалект спасет? )
...
Рейтинг: 0 / 0
30.04.2015, 22:58
    #38950120
Dorin Marcoci
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
да, сказали же тебе выше.
в третьем внутри не будет как дабл.
...
Рейтинг: 0 / 0
01.05.2015, 19:25
    #38950335
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
Dorin Marcoci,


хм. перешел на 3 диалект. в проге подправил все поля в датасетах. все денежные поля переформировались в TFIBBCDField.

в некоторых датасетах стоит генератор в AutoUpdateOptions.

Почему фиб обрамляет генератор кавычками и как это отключить фиба?

firebird на кавычки ругается
...
Рейтинг: 0 / 0
01.05.2015, 19:32
    #38950337
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
sergqfirebird на кавычки ругается
Матом?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
01.05.2015, 20:34
    #38950356
sergq
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
не отрабатывает условие
Dimitry Sibiryakov,

вопрос снят ) нижний регистр у имени генератора )
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / не отрабатывает условие / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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