![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как задать формат вычисляемого поля в 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 можешь?