Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как задать формат вычисляемого поля в DBGrid? [D7, IB7.x]


Лена С ©   (2006-01-30 03:23:00) 

Здравствуйте!
В базе данных есть вычисляемое поле Summa= Kol * Cena. KOL -  3 знака после запятой, Cena - 2 знака. В IB7.x при создании поля написать (ROUND((Kol*Cena)*100)/100) не могу. Нет такой функции у него. Как получить поле с двумя знаками после запятой?


Johnmen   (2006-01-31 10:16:00) [1]

см. приведение типов CAST


Лена С   (2006-01-31 00:47:00) [2]

Просто создаётся поле напр. NUMERIC(15,2), и диалект третий.

Как только вставляешь формулу, NUMERIC(15,2) исчезает. В книжке написано: тип результирующего значения и будет служить типом вычисляемого столбца. А диалект третий.


Johnmen   (2006-01-30 10:08:00) [3]

Вообще всё это не нужно.
Просто создаётся поле напр. NUMERIC(15,2), и диалект третий.
Всё точно, никаких погрешностей....


ЮЮ   (2006-01-30 09:50:00) [4]


> Sergey13 ©   (30.01.06 09:44) [5]

Согласен.
Но запрос-то может быть не только в клиентском НД, а и в ХП.  

З.Ы. магические числа 3 62 и 4 12 неспроста :)


Sergey13   (2006-01-30 09:44:00) [5]

2[4] ЮЮ ©   (30.01.06 09:40)
Так это же не хранится - поле то вычисляемое.


ЮЮ   (2006-01-30 09:40:00) [6]


> msguns ©   (30.01.06 09:16) [3]

Кому будет легчк, от того, что отображается 3.62, а хранится 3.62412 ???


msguns   (2006-01-30 09:16:00) [7]

DisplyFormat := '0.00';


Лена С   (2006-01-30 07:02:00) [8]

Спасибо! Получилось! Но если Cast(.... as int)/100 результат Integer, т.е. целое. Я сделала так    Cast(Cast(... as int)*1 as float)/100


ЮЮ   (2006-01-30 04:21:00) [9]


> написать (ROUND((Kol*Cena)*100)/100) не могу.

а Cast(Kol*Cena*100 as int) / 100 можешь?


Наверх

Титульная страница Поиск, карта сайта Написать письмо