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

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

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

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

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

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

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


Что не так?


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

Первый.

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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


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