关于access的问题,很简单的?(100分)

  • 主题发起人 主题发起人 gravel
  • 开始时间 开始时间
G

gravel

Unregistered / Unconfirmed
GUEST, unregistred user!
我在access里输入的数据:在delphi里完全变了,
例如:我输入:1。8 在delphi里变成了:1。799999999
无论我改成单精度还是双精度,连小数点位数都限制了,
还是不行。
什么原因?
 
这是DELPHI的问题,在QUERY1或TABLE1中增加fields,修改fields.precision小数点长度到你适用的长度即可
 
这个问题我也遇到过,
应该是两种浮点数的不同带来的
从库中取数据时通过tfield.asfloat时,用的 是double型
而库中是extended型,
double的尾数和基数同extended型完全不同,
导致上述问题,(0.7-0.4)<>0.3
0.7-0.4=5.22e-17得到是一个近似零但不是零的数,
比如如下操作:
库中初始为0.7
tfield.asfloat:=tfield.asfloat-0.4;
post;
此时库中应为0。3,但在进行如下操作出错
tfield.asfloat-0.3<>0 ?????---->错了
最后只好用了一个很笨的法子
tfield.asfloat:=
strtofloat(floattostrf(tfield.asfloat-0.3,fffixed,18,2));
 
我也提过类似问题但没法解决,后来我把ACCESS升级到2000就没事了。
你试试看吧。
 
用字段属性中的Displayformat和Editformat不就行了吗?
 
以上方法都不能解决
 
不能!我用的就是Access,而且过去也遇到同样的问题,但是解决了。
 
你应该试试 Access 2000 !
 
用Diamond Access好象没有问题.
 
我现在也是这个问题
虽然我用的是Access 2000
不过,我也发现它在单精度的时候就不会有事,只有在双精度的情况下才会出问题

最后,我还是采用了 netyjj 的“笨”办法!

谢谢!
 
多人接受答案了。
 
后退
顶部