Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Формат столбца


Автор: Orakul 6.7.2004, 07:28
С помощью SQL-запроса выбираю данные из таблицы в компонент Grid, в запросе использую вычисляемые поля, типа (real1-real2) - вещественные числа. В реале получаю довольно интересную картину (что и следовало ожидать) - <2.55000000000001>. Подскажите какими средствами можно произвести форматирование столбца или какую использовать функцию в SQL-запросе.

Автор: <Spawn> 6.7.2004, 07:56
Зависит от того какой тип столбца в базе ты используешь. Можно попробовать его изменить там(Помню как то давно работая с Intebase было что то похожее - смена типа помогла). В Дельфе же можно воспользоваться FloatToStrF или FormatFloat

Автор: gray_k 6.7.2004, 08:19
Наложи маску в свойстве DisplayFormat столбца. Либо НД, либо самого грида.

Автор: Orakul 6.7.2004, 09:48
Функция FormatFloat в данном случае не подходит... А вот насчет свойства FormatFloat я пробовал, искал, но так и не дошел до него... Если это не сложно, опишите начиная от родителя, как до него добраться...

И через какое свойство задавать Fields[i] или Columns[i]?

Автор: Maverick 6.7.2004, 09:56
Ты не понял...

В дизайне...
1) Ткни два раза на компонент Table;
2) Откроется редактор полей, там должны быть твои поля. если нет - правую мышь нажми, добавь...
3) Выбери конкретное поле...
4) В свойстве DisplayFormat поставь ##.## - два знака после запятой...

В рантайме
Table.Fields[i].DisplayFormat := '##.##' - как-то так, счас прверить не могу...

Автор: Orakul 6.7.2004, 10:34
Maverick Не выйдет, использую компонент Query...

Автор: gray_k 6.7.2004, 11:08
Orakul
А ты вообще книжки читал или в хелп лазил?

(Query1.FieldByName('Field1') as TFloatField).DisplayFormat := '# ###.##';

Автор: Maverick 6.7.2004, 11:38
Что Table, что Query в данном случае одно и тоже...

Автор: Orakul 6.7.2004, 11:47
Да, перелопатил всю доступную литературу... Перерыл инет... Ответа не нашел... Насчет того что Table и Query одинаковы.. с этим я поспорю...

Автор: Maverick 6.7.2004, 11:49
Я сказал в данном случае... проделай все действия, что я привел в своем ответе... в смысле этих действий, тэйбл и квери - одинаковы...

Автор: Orakul 6.7.2004, 12:07
gray_k Спасибо большое... Сам не пойму почему не допер до этого. Все так элементарно.

Автор: Akella 29.8.2006, 08:18
####,##0.00

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)