![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADO, Access 97 и точность в Delphi
Builder © (2003-03-29 17:44:00)При сожранении чисел с точностью 3 знака в базе данных(MS Access 97 через ADO), получаеться что имеем типа: 3.00000001
Поля в которые происходит сохранени:
С плавающей точкой (8 байт)
выставлено число дес знаков - 3.
Но все это не помагает.
Как правильно записывать?
Proxvost (2003-04-03 11:50:00) [1]Если ты из дельфи присваиваешь данные типа Double в поля Акцесса то проблемм не должно быть, а вот с чтением можно транслировать разными путями если тащишь через DBGrid то поле Precission смотри для ординарных 7 для двойных 15. Ежели тебе отдельно нада вытащить значение то даж не знаю, я выкрутился так:
namber := strtofloat(floattostrf(namber,ffgeneral (или ffexponent),7,7));
Изврат, согласен, но работает.
С уважением Прохвост
P.S. К сожалению приходится запоминать точность чисел которые вводишь. :( В обычном паскале этой проблемы не было :)
sniknik (2003-04-03 08:14:00) [2]а как ты присваиваеш? я вот делаю инсерт
INSERT INTO BOX1 (Fl,NEXTID,PREDID,REMARK) VALUES (1.37, 0, 0, "Test")
потом запрос
SELECT * FROM BOX1
и вижу в поле F1 = 1.37, не больше не меньше. (F1 формат double позиций после запятой Auto, 2 и 3 как у тебя тоже пробовал)
Builder (2003-04-03 01:46:00) [3]Да, со всем я согласен.
Но есть такой вопрос: если я оставляю плавающую точку, формат основной, то
присваиваю 1,37,
получаю 1,37000000001
но в аксесе я могу зайти поменять и ОНО присвоит полю 1,37.
КАК ОНО ЭТО ДЕЛАЕТ?
Что бы и я мог???
Anatoly Podgoretsky (2003-03-31 11:33:00) [4]Главное если бы задумался над смыслом слова с плавающейзапятой, то сразу бы сообразил, то что ты требуешь называется с фиксированнойзапятой - BCD поля.
blackman (2003-03-31 10:29:00) [5]>Если бы знал как правильно
Значит знал.
Builder (2003-03-31 10:12:00) [6]2 blackman
Если бы знал как правильно, не писал бы сюда.
10х за информативный ответ :(
Проблема решаеться оказываеться выставление типа currency и настройки его вида :)
blackman (2003-03-30 19:59:00) [7]А сам как думаешь ?