Текущий архив: 2013.06.23;
Скачать: CL | DM;
Вниз
firebird - эмулялия логических и денежных типов Найти похожие ветки
← →
помогите новичку (2010-11-22 16:46) [0]Как правильнее эмулировать логические переменные в FireBird:
я использовал 2 варианта: smalint (=0 or =1) и VarChar(1) (="T" or ="F").
И про деньги: попробовал DECIMAL(15,2), но он в гриде отображается как обычное дробное число (даже если в свойствах Field"а указать currency=true). Если сделать float или double, то приписывает к значению "р.", но данные из decimal в float не конвертируются... Как методически правильнее "деньги хранить"?
Да, кстати чем DECIMAL(15,2) и NUMERIC(15,2) отличаются - в мануале абсолютно одинаковые описания...
← →
Виталий Панасенко (2010-11-22 17:32) [1]смотря, какие компоненты доступа.. FIBPLus умеют эмулировать логические поля.Т.е. объявляешь домен типа SMALLINT, в имени ОБЯЗАТЕЛЬНО должно присутствовать слово BOOLEAN(например, TBOOLEAN), фибы генерят для такого описания объект - логическое поле. И с ним можно работать, как с обычным логическим полем. А на счет денег - настрой DisplayFormat для нужных полей
← →
Inovet © (2010-11-22 17:32) [2]В dialect 3, насколько помню, numeric в integer храниться
numeric(18,2) в int64
← →
помогите новичку (2010-11-22 17:52) [3]
> FIBPLus умеют эмулировать логические поля.Т.е. объявляешь
> домен типа SMALLINT, в имени ОБЯЗАТЕЛЬНО должно присутствовать
> слово BOOLEAN(например, TBOOLEAN)
Ок, полезная инфа. Я назвал TBOOL, чуть не дотянул, но в принципе в DBGridEh есть мулька - Checked + KeyValues, которые прекрасно эмулируют любые (видимо) поля с двумя возможными значениями.
> на счет денег - настрой DisplayFormat
уловил, сделаю. Но с методической стороны есть ли общие рекомендации типа, деньги лучше хранить в ..., т.к. ...? Или сложившаяся практика например. Или же кто во что горазд то и пишет?
← →
Виталий Панасенко (2010-11-22 17:57) [4]только не float/double,. т.к. там числа хранятся в плавающем формате. а вот NUMERIC/DECIMAL - до 18 знаков хранятся в формате integer/int64.. т.е. соблюдается точность при расчетах и нету "хвостов"...
← →
помогите новичку (2010-11-22 18:09) [5]
> только не float/double,. т.к. там числа хранятся в плавающем
> формате. а вот NUMERIC/DECIMAL - до 18 знаков хранятся в
> формате integer/int64.. т.е. соблюдается точность при расчетах
> и нету "хвостов"...
Спасибо, теперь полная ясность!
← →
Inovet © (2010-11-22 19:05) [6]> [5] помогите новичку (22.11.10 18:09)
> Спасибо, теперь полная ясность!
Так у тебя база в диалект 1, наверно?
← →
Petr V. Abramov © (2010-11-23 11:49) [7]
> Если сделать float или double, то приписывает к значению
> "р."
а если винда окажется английская, то припишет $
вот заказчик порадуется :)
← →
помогите новичку (2010-11-23 13:19) [8]
> Так у тебя база в диалект 1
когда создавал, 3 выбирал - уточню...
> а если винда окажется английская, то припишет $вот заказчик
> порадуется :)
гы, точно... :) нет, я DisplayFormat уже заюзал...
Страницы: 1 вся ветка
Текущий архив: 2013.06.23;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.004 c