![]() |
|
|
![]()
|
|
| Infector |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 13.1.2008 Репутация: нет Всего: 2 |
Проблемка такая: Имеется поле, которое должно отображать денежную сумму.
При отображении конечные нули после запятой урезаются. Например 23,52 отображает нормально 23,50 как 23,5 23.00 как 23 Каким образом задать формат отображения числа? |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Infector, настроить точность можно через TFloatField.
Хотя стоит уточнить - как именно происходит работа с БД (TXXXQuery, TXXXTable)? |
|||
|
||||
| Infector |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 13.1.2008 Репутация: нет Всего: 2 |
Query из BDE в режиме "прямого редактирования"
|
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
Infector, мда. насамом деле точность менять не очень удачная мысль - тогда срежутся остальные значения. На мой взгляд единственный выход - это форматирование данных поля при выводе в TDBGrid
Добавлено через 1 минуту и 44 секунды Infector, посмотри в сторону события TDBGrid->OnDrawDataCell |
|||
|
||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
Infector, у поля есть свойство DisplayFormat. В вашем случае делайте так: ##,###.00
Числа будут выглядеть так: 12 555,00 2 555,00 555,50 555,05 и т.д. Добавлено через 4 минуты и 14 секунд Забыл сказать как добраться до DisplayFormat. Двойной клик по Query1, в списке выбираете нужное поле и, собственно, найдёте его в инспекторе объектов. -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
дык это и есть через TFloatField. Вообще честно говоря связка создания визардом TXXXField для TXXXQuery - не очень хорошее решение. А именно года надо выполнять агрегатные функции и т.п. Другое дело - выходит что я не до конца понял до конца - нужно что бы нули отображались или нет? |
|||
|
||||
| Infector |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 13.1.2008 Репутация: нет Всего: 2 |
Нужно чтобы нули отображались, а они урезаются, если копеек нет или количество их кратно десяти....
Первым делом стал лазить по свойствам DBGrid, там не нашел ничего интересного, хотя возможно так смотрел... DisplayFormat в TFloatField нашел, вроде срабатывает, точность не проверял (записи еще должны суммироваться) Однако вылезает всязи с этим другая проблема: как список полей в Query создавать динамически? Дело в том, что Query->SQL формируется именно динамически и в начале работы программы пуст. К нему подключаются таблицы несколько отличных форматов, но одного содержимого. Поэтому статически список полей создать не могу. Вернее создаю при заполненном "фиктивном" запросе, но периодически часть описанных полей становятся "лишними", о чем честно сообщает ошибка. Мыслей нет если честно... Что хоть примерно в обработчике писать? Это сообщение отредактировал(а) Infector - 26.12.2009, 19:46 |
|||
|
||||
| Нитонисе |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: 2 Всего: 2 |
Поле, где хранятся эти данные в базе данных, должно быть строковым.
Заносить в него информацию так
Читать информацию так.
|
||||
|
|||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
mrbrooks имел ввиду, что округлять вручную и отрисовывать нужное значение самому. Добавлено через 5 минут и 53 секунды ИМХО копать нужно в строну Query1->Fields->Add() Это сообщение отредактировал(а) artsb - 26.12.2009, 20:39 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| mrbrooks |
|
||||||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: 167 Всего: 306 |
камрад - я не правильно тебя понял - поэтому здесь тебе это не надо.
это интересная мысль Infector, собственно все что тебе нужно сказал и artsb, и Нитонисе. если все это объединить то:
|
||||||
|
|||||||
| artsb |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2280 Регистрация: 17.7.2007 Где: центр Вселенной Репутация: 39 Всего: 64 |
mrbrooks, ага
Это сообщение отредактировал(а) artsb - 26.12.2009, 20:52 -------------------- Чем отличается умный человек от мудрого? Умный - выпутается из любой ситуации. Мудрый - просто в неё не попадёт. |
|||
|
||||
| Infector |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 298 Регистрация: 13.1.2008 Репутация: нет Всего: 2 |
Спасибо всем за помощь. Выкрутился с помощью DisplayFormat и приведения таблиц к "стандартному" виду перед открытием
|
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |