access中数据在DBGrid中显示为什么会出现错误?(100分)

  • 主题发起人 zhaoshuming
  • 开始时间
Z

zhaoshuming

Unregistered / Unconfirmed
GUEST, unregistred user!
我在Access中有一个字段,定义如下:
数据类型:数字; 字段大小:单精度型; 格式:固定; 小数位数:5
但是我在DBGrid中显示出来的值却不如我所想。
比如:
数据库中是1.60000,但是在DBGrid中却显示1.60000002384186
请教各位高手,这是什么原因?
 
设置一下字段的DisplayFormat试试看
 
调一下DBGRID的小数位数
 
方法1:设置字段的displayformat为0.0000
方法2:在DBGrid的DrawDataCell事件中
if field.FieldName <>'Name' then//除了‘Name’除此以外都是浮点型的数据
begin
DBGrid1.Canvas.FillRect(Rect);//很重要!不然显示的内容乱七八糟;
DBGrid1.Canvas.textout(
rect.left,rect.top,formatfloat('0.000',field.asfloat));
end;
另外在ADOQuery(数据源)的更改中加一句:DBGrid1.Invalidate ;//迫使数据改变
后DBGrid重绘;
 
单精度是有那么多位小数的,数据表里显示时是按照你设的五位来显示的,但实质上不
止那么多位。把数据类型改为小数,小数点后面的取值取五位就可以了。
 
接受答案了.
 

Similar threads

回复
0
查看
819
不得闲
回复
0
查看
684
不得闲
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
顶部