本人用delphi在前台做了一个界面,后台用oracle 10数据库,在数据中有一个表(XZ_ZHIXIANGGENE),表中有个字段GPROVIDECODE 是NUMBER类型,其数据全是1.366686680479503,小数位后通常有10位数以上,本人在前台用DBGridEh做表格,ADODataSet为连接,在CommandText中的代码是'select GPROVIDECODE from XZ_ZHIXIANGGENE'。但结果出来的数据是1.3667。无论怎么设置FieldDefs[i]中的DataType类型和小数点位都无法得出1.366686680479503的效果。请教各位怎么完整显示这个浮点数类型字段。
Str:string;
begin
Str = Format('%0.15f',[GPROVIDECODE ]);
end;
但,shenzhensoft的回答我怎么测试也用不了这段代码。
zxf_feng的回答按此方式设置后还是不起作用.一样是以前的4位小数1.3667。
请教各位还有没有其它的方法
me2008的方法我也试过,我试着去改烃变它的字段类型,每个都试过,但是就是不起作用.还是四位小数.
OnGetText事件中:
procedure TForm1.qry1GPROVIDECODEGetText(Sender: TField; var Text: String;
DisplayText: Boolean);
begin
Text := Format('%0.15f',[Sender.AsFloat]);
end;
bladz的方法我也试过,但也是不起作用.因为出现的效果是四位小数是四舍五入,后面全是0.是用0来补足位数.例如:1.366686680479503最后显示的效果是1.36670000000000000. 还是没达到完整显示这个浮点数类型字段的效果。
看看取出来的字串是多少?如果字串是对的就再做个转换.
看看取出来的字串是多少?如果字串是对的就再做个转换.
willflyz的方法我也试用了一下,但也是不起作用.后台能实现转换成字符型,但是前台ADODataSet连接显示在DBGridEh时它自动当作是数字,还是显示1.3667. 还是没达到完整显示这个浮点数类型字段的效果。
adodataset的那个字段你是什么类型,你首先确认从数据库抓出来的时候是完整的,然后用类似string啊,varchar啊显示,是可以的。
跟踪一下就知道咯。