![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Работа с дробными числами в Access [D6, Access]
Kosha © (2003-09-03 14:28:00)
Заметил следующую вещь и не знаю как с ней бороться.
В таблице поле тип - Действительное (точность 18, шкала 5).
Есть TADOQuery с созданным TField (ftFloat). Выполняю запрос select ... и qSourcePrice.AsFloat мне возвращает 5,33333 (5 знаков после запятой). Здесь все ОК.
Но если я не создаю TField, выполняю запрос select ..., то qSource.FieldByName("Price").AsFloat мне возвращает 5,3333 (4 знака после запятой вместо 5)
Мне принципиально важно получить 5 знаков, что делать помогите.
Kosha (2003-09-04 12:09:00) [1]
To Jean
Я бы нарисовал, если бы знал какой. Проблема не нарисовать, а получить из базы.
To Anatoly Podgoretsky
Пробовал:
qSource.FieldByName("Price").DataType:=ftFloat;
Пишет, что DataType - readonly.
Неужели нет способа.
Anatoly Podgoretsky (2003-09-03 22:08:00) [2]
Kosha (03.09.03 17:50) [4]
Можно, найди свое поле и установи ему параметры в рантайм
Jean (2003-09-03 22:05:00) [3]
Сам какой-нибудь знак нарисуй :)
Kosha (2003-09-03 17:50:00) [4]
А понял, но ситуация такая, что этим TADOQuery ползуются многие процедуры и набор полей каждый раз разный. Можно ли решить эту проблему не создавая Persistent поля?
Nikolay M. (2003-09-03 17:18:00) [5]
Двойной клик на DataSet->Add all fields
Kosha (2003-09-03 17:03:00) [6]
Сорри. Но что такое Persistent поля?
Nikolay M. (2003-09-03 14:54:00) [7]
Ну, возможно АДО видит, что точность поля - 5 знаков и решает, что 5-й знак все равно будет неточным и возвращает "правильные" 4 знака. Создай Persistent-поля и укажи точность 5 знаков.