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

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

Маленькая проблемка - Grid  округляет автоматом [D6, dBase, FoxPro]


Страницы:   1 2

StenKz ©   (2002-12-10 14:18:00) 

Есть Grid, есть Dbase IV, поле number, 6 знаков до и 4 после запятой...

Так вот в при вводе в грид происходит автоматическое округление...

А надо чтобы не округляло...


Fiend   (2002-12-11 09:53:00) [21]

То MsGuns
а BCD, увжаемый MsGuns, тут при том шо вот у меня аналогичнейшая проблема была. Причём не просто там отображалось не правильно, а даже когда брал значение поля для внутреннего вычисления в клиенте (Query.FieldByName("Field1").AsFloat), то оно мне давало округлённый вариант. И шо я тока не делал, и форматировал у Query поля и много еще чего перепробовал. ничего не спасало. а вот использование BCD помогло, потому говорю не голословно. И учтите пожалуста, шо не отвергаю других вариантов решения. Просто сообщаю человеку, шо эту проблему у себя решил так то, и пусть он попробует.

С уважением, Fiend


Anatoly Podgoretsky   (2002-12-10 20:51:00) [22]

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


MsGuns   (2002-12-10 20:46:00) [23]

Ну ведь сказали же ! (Anatoly Podgoretsky © (10.12.02 16:26)
И причем здесь BCD ? Вы еще в конфигуратор полезьте и ввалите там 6 знаков после точки !

Надо задать 2 свойства у TField: DisplayFormat (0.000) и EditFormat (#.000##), а вообще настоятельно рекомендую перед постом ОКРУГЛЯТЬ введенные (а особенно вычисленные) числа

a := ROUND(a*1000)/1000; (10 в степени сколько надо точность)

Помогает ОДНОЗНАЧНО избежать больших СУММАРНЫХ (по колонке) погрешностей.

Использование BCD тоже, конечно, вариант, но есть траблы с интерпретацией сумм по таким колонкам в запросах (для BDE по крайней мере), да и места на диске они занимают больше.


Fiend   (2002-12-10 16:39:00) [24]

To Stenkz
через SQL Explorer или BDE Administrator в настройках алиаса через который вы подключаетесь к БД, установите опцию Enable BCD в true. перезапустите программу


sniknik   (2002-12-10 16:38:00) [25]

ветка живое воплощение
http://delphi.mastak.ru/cgi-bin/forum.pl?look=1&id=1039441512&n=3
:-))

Anatoly ну че ты выеживаешся? нет чтобы сразу правильно и грамотно ответить! :о))))))


Anatoly Podgoretsky   (2002-12-10 16:35:00) [26]

Как настраивал, не играй в прятки


РВА   (2002-12-10 16:30:00) [27]

Свойство DisplFormat для данного поля внести 0.0000 (или #0.00##)
Для Grid должно работать


Stenkz   (2002-12-10 16:30:00) [28]

To Anatoly Podgoretsky ©
Настраивал DisplayFormat, но всёравно округляет последнюю цифру..

To Fiend © обращаюсь через BDE


Stenkz   (2002-12-10 16:26:00) [29]

To Anatoly Podgoretsky ©
настройки Tfield стандартные для Numeric


Anatoly Podgoretsky   (2002-12-10 16:26:00) [30]

А формат поляв таблице, а настройка DisplayFormat и где жто видим в гриде или в таблице.
А если надо то почему не настроишь DisplayFormat, но если поле Nx.2 то откуда взяться третьему знаку.

По конкреннее.


Fiend   (2002-12-10 16:25:00) [31]

Ты через что обращаешься к таблицам?
ADO или BDE?


Stenkz   (2002-12-10 16:17:00) [32]

То Fiend ©
А что такое BCD :)?


To Anatoly Podgoretsky ©
Работает так Пишем 156,555 получаем 156,56...
А надо 155,555


Fiend   (2002-12-10 16:10:00) [33]

То Stenkz
Тебе же говорят, запрети использование BCD, спасёт по любому!!!!!!!!!


Stenkz   (2002-12-10 16:09:00) [34]

Пробовал криво работает... Надо написать последний ноль чтобы она не кругляла..


Anatoly Podgoretsky   (2002-12-10 16:04:00) [35]

Ты бы для приличия указал бы исходные данные, как округляет, насройки свойств TField, хоть это как минимум


Fiend   (2002-12-10 16:02:00) [36]

запретите использование BCD, это спасёт вас однозначно


sniknik   (2002-12-10 15:02:00) [37]

попробуй к примеру TNumericField.DisplayFormat настроить.


StenKz   (2002-12-10 14:52:00) [38]

А Numeric в другом месте через DBEdit работает, не округляет...
А что тогда использовать?


Anatoly Podgoretsky   (2002-12-10 14:25:00) [39]

Не использовать Numeric это с фиксированноей запятой, а по вопросу ты хочешь с плавающей.


Страницы:   1 2

Наверх

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