Отправляет email-рассылки с помощью сервиса Sendsay

RFpro.ru: СУБД и Delphi/Lazarus

  Все выпуски  

RusFAQ.ru: СУБД и Delphi


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / СУБД и Delphi

Выпуск № 154
от 14.06.2006, 21:05

Администратор:CJ
В рассылке:Подписчиков: 227, Экспертов: 33
В номере:Вопросов: 2, Ответов: 5


Вопрос № 45692: Здравствуйте, эксперты. Допустим, имеется элементарный запрос select A from T; Тип А - вещественный. Пусть вывод будет таким: 3,13 3,245 5,3 Теперь вопросик. Каким образом сделать вывод так, чтобы вывод...
Вопрос № 45735: Здравствуйте, эксперты. Прошу прощения за прошлый свой вопрос. Я кое-что недописал. Используется компонент вкладки ADO - ADOQuery. В общем там нет такого свойства как DisplayFormat. А вывод осуществляется в DBGrid вкладки DataControls. Повтор...

Вопрос № 45.692
Здравствуйте, эксперты.
Допустим, имеется элементарный запрос

select A from T;

Тип А - вещественный. Пусть вывод будет таким:

3,13
3,245
5,3

Теперь вопросик. Каким образом сделать вывод так, чтобы выводилось СТРОГО две цифры после запятой, типо вот так

3,13
3,25
5,30

Заранее, спасибо!
Отправлен: 09.06.2006, 01:45
Вопрос задал: Repose (статус: 1-ый класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Злоумышленник
Здравствуйте, Repose!
Query1A.DisplayFormat := '0.##';
Ответ отправил: Злоумышленник (статус: 9-ый класс)
Ответ отправлен: 09.06.2006, 06:16

Отвечает: Маренич Владимир
Здравствуйте, Repose!

Смотря что имеется в виду под "вывод".

1. Установить формат отображения поля А как в ответе от "Злоумышленник". Только использование формата '0.##' Вам не подходит - он будет давать результат
3,13
3,25
5,3 <---- !!!
А если будет какое-нибудь целое значение (например, 1), то и вовсе без десятичной точки...
Нужно задавать в Вашем случае формат вывода '0.00'.

2. Если Вы хотите получить значение поля в виде строки, то тогда используйте функцию форматирования FormatFloat:
s:=FormatFloat('0.00', Query1.FieldByName('A').AsFloat);
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 09.06.2006, 07:48


Вопрос № 45.735
Здравствуйте, эксперты.
Прошу прощения за прошлый свой вопрос. Я кое-что недописал. Используется компонент вкладки ADO - ADOQuery. В общем там нет такого свойства как DisplayFormat. А вывод осуществляется в DBGrid вкладки DataControls.
Повторяю вопрос.
Допустим, имеется элементарный запрос

select A from T;

Тип А - вещественный. Пусть вывод будет таким:

3,13
3,245
5,3

Теперь вопросик. Каким образом сделать вывод так, чтобы выводилось СТРОГО две цифры после запятой, типо вот так

3,13
3,25
5,30

Заранее, спасибо!
Отправлен: 09.06.2006, 12:42
Вопрос задал: Repose (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Маренич Владимир
Здравствуйте, Repose!

Дополню тогда свой ответ :)
У Вас на форме лежит ADOQuery1. Щелкаете по нему дважды и у Вас должен появиться список полей. Если там пусто, то нажмите на списке полей правую кнопку мышки и в меню выбирите "Add all fields...". Выбирите нужное поле (в Вашем примере "A") и в Object Inspector'е установите DisplayFormat='0.00'. Также можете настроить остальные свойства поля, например, DisplayLabel (заголовок), DisplayWidth (ширина колонки в симолах). Это поможет Вам не настраивать отдельно колонки в гриде. Желаю удачи.
Ответ отправил: Маренич Владимир (статус: Студент)
Ответ отправлен: 09.06.2006, 13:04
Оценка за ответ: 2
Комментарий оценки:
Хоть убейте, нету такого. Я так понял, что надо два раза нажать на DBGrid, а не на ADOQuery, потому что появляется совсем не то. Ну так вот выбрал я нужное поле, но свойства DispayFormat не нашел :(

Отвечает: RSV
Здравствуйте, Repose!

select num from table1
3.13
3.245
5.3
select convert(decimal(3,2), num) from table1
3.13
3.25
5.30

Ответ отправил: RSV (статус: 1-ый класс)
Ответ отправлен: 09.06.2006, 14:03

Отвечает: akaDemik
Здравствуйте, Repose!
Можно обработать OnGetText. И принудительно вывести строку с двумя знаками после запятой. Пример в приложении.

Приложение:

Ответ отправил: akaDemik (статус: 2-ой класс)
Ответ отправлен: 09.06.2006, 16:43


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное