![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Маленькая проблемка - Grid округляет автоматом [D6, dBase, FoxPro]
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 это с фиксированноей запятой, а по вопросу ты хочешь с плавающей.