我的数据库中的数据是单精度固定小数点后三位小数的 但是我提取出来转换成文本格式的时候,在txt文件里面 小数点后面就是11位了请问这个问题如何解决 我的程序如下 请指点一下
procedure TForm2.Button3Click(Sender: TObject);
var
strlist1:tstringlist;
str:string;
i:integer;
begin
str:='';
with adoquery2 do
begin
close;
sql.Clear;
sql.Add('select * from ygprint where 井号='''+edit2.text+''' order by 归位深度 asc');
open;
(adoquery2.FieldByName('油质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('油质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('胶质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('胶质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('沥青质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('沥青质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('水发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('水荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('色差') as TFloatField).displayFormat := '0.00';
first;
if savedialog1.Execute then
begin
strlist1:=tstringlist.Create;
str:=fields[4].FieldName;
for i:=5 to adoquery2.Fields.Count-1 do
str:=str+' '+fields[i].FieldName;
strlist1.Add(str);
while not eof do
begin
str:='';
str:=fieldbyname('归位深度').AsString+' '+ fieldbyname('油质波长均值').AsString +' '+fieldbyname('油质发光面积').AsString +' '+fieldbyname('油质荧光亮度').AsString+' '+ fieldbyname('胶质波长均值').AsString +' '+fieldbyname('胶质发光面积').AsString +' '+fieldbyname('胶质荧光亮度').AsString+' '+ fieldbyname('沥青质波长均值').AsString +' '+fieldbyname('沥青质发光面积').AsString +' '+fieldbyname('沥青质荧光亮度').AsString+' '+ fieldbyname('水波长均值').AsString +' '+fieldbyname('水发光面积').AsString +' '+fieldbyname('水荧光亮度').AsString+' '+ fieldbyname('色差').AsString +' '+fieldbyname('含油性评价指数').AsString ; //提取数据库中的信息 strlist1.Add(str);
next;
end;
strlist1.SaveToFile(savedialog1.FileName); strlist1.Free;
end;
end;
end;
procedure TForm2.Button3Click(Sender: TObject);
var
strlist1:tstringlist;
str:string;
i:integer;
begin
str:='';
with adoquery2 do
begin
close;
sql.Clear;
sql.Add('select * from ygprint where 井号='''+edit2.text+''' order by 归位深度 asc');
open;
(adoquery2.FieldByName('油质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('油质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('胶质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('胶质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('沥青质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('沥青质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('水发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('水荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('色差') as TFloatField).displayFormat := '0.00';
first;
if savedialog1.Execute then
begin
strlist1:=tstringlist.Create;
str:=fields[4].FieldName;
for i:=5 to adoquery2.Fields.Count-1 do
str:=str+' '+fields[i].FieldName;
strlist1.Add(str);
while not eof do
begin
str:='';
str:=fieldbyname('归位深度').AsString+' '+ fieldbyname('油质波长均值').AsString +' '+fieldbyname('油质发光面积').AsString +' '+fieldbyname('油质荧光亮度').AsString+' '+ fieldbyname('胶质波长均值').AsString +' '+fieldbyname('胶质发光面积').AsString +' '+fieldbyname('胶质荧光亮度').AsString+' '+ fieldbyname('沥青质波长均值').AsString +' '+fieldbyname('沥青质发光面积').AsString +' '+fieldbyname('沥青质荧光亮度').AsString+' '+ fieldbyname('水波长均值').AsString +' '+fieldbyname('水发光面积').AsString +' '+fieldbyname('水荧光亮度').AsString+' '+ fieldbyname('色差').AsString +' '+fieldbyname('含油性评价指数').AsString ; //提取数据库中的信息 strlist1.Add(str);
next;
end;
strlist1.SaveToFile(savedialog1.FileName); strlist1.Free;
end;
end;
end;
解决方案 »
- 用DELPHI代码的方式清理cookies,如何实现,比较急,高分送出。分不够,再给加,顶者有分
- 一个很难解决的问题
- DBGRID如何实现上下行互换?
- 有关Excel数据导入SqlServer数据问题
- !!!发贴找工作,兄弟们帮顶。
- 急求小票打印解决方法!!请大家帮忙!!
- 给个update..set...where..的例子,谢谢
- 为什么不能拒绝重复执行程序?
- dock 问题 怎么判断窗体是否已经docked了啊
- Delphi5的quickreport预缆时掉线有没解决?关闭预缆时返回的query1总会回到first吗?
- 如何将交换机的命令编写好一次性发送给远程的交换机??
- 如何用for做多个数相加的程序
1.相关函数:function Gtow(s:string):string;
begin
{例如:S=12.00000000000,返回12.000}
Result:=copy(s,1,pos('.',s)-1)+copy(s,pos('.',s),4);
end;
2.处理:procedure TForm2.Button3Click(Sender: TObject);
var
strlist1:tstringlist;
str:string;
i:integer;
begin
str:='';
with adoquery2 do
begin
close;
sql.Clear;
sql.Add('select * from ygprint where 井号='''+edit2.text+''' order by 归位深度 asc');
open;
(adoquery2.FieldByName('油质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('油质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('胶质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('胶质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('沥青质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('沥青质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('水发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('水荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('色差') as TFloatField).displayFormat := '0.00';
first;
if savedialog1.Execute then
begin
strlist1:=tstringlist.Create;
str:=fields[4].FieldName;
for i:=5 to adoquery2.Fields.Count-1 do
str:=str+' '+fields[i].FieldName;
strlist1.Add(str);
while not eof do
begin
str:='';
str:=fieldbyname('归位深度').AsString+' '+ fieldbyname('油质波长均值').AsString +' '+fieldbyname('油质发光面积').AsString +' '+fieldbyname('油质荧光亮度').AsString+' '+ fieldbyname('胶质波长均值').AsString +' '+fieldbyname('胶质发光面积').AsString +' '+fieldbyname('胶质荧光亮度').AsString+' '+ fieldbyname('沥青质波长均值').AsString +' '+fieldbyname('沥青质发光面积').AsString +' '+fieldbyname('沥青质荧光亮度').AsString+' '+ fieldbyname('水波长均值').AsString +' '+fieldbyname('水发光面积').AsString +' '+fieldbyname('水荧光亮度').AsString+' '+ fieldbyname('色差').AsString +' '+fieldbyname('含油性评价指数').AsString ; //提取数据库中的信息 str:=Gtow(str);{--------------新加入了这句} strlist1.Add(str);
next;
end;
strlist1.SaveToFile(savedialog1.FileName); strlist1.Free;
end;
end;
end;
var
strlist1:tstringlist;
str:string;
i:integer;
begin
str:='';
with adoquery2 do
begin
close;
sql.Clear;
sql.Add('select * from ygprint where 井号='''+edit2.text+''' order by 归位深度 asc');
open;
(adoquery2.FieldByName('油质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('油质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('胶质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('胶质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('沥青质发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('沥青质荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('水发光面积') as TFloatField).displayFormat := '0.000';
(adoquery2.FieldByName('水荧光亮度') as TFloatField).displayFormat := '0.00';
(adoquery2.FieldByName('色差') as TFloatField).displayFormat := '0.00';
first;
if savedialog1.Execute then
begin
strlist1:=tstringlist.Create;
str:=fields[4].FieldName;
for i:=5 to adoquery2.Fields.Count-1 do
str:=str+' '+fields[i].FieldName;
strlist1.Add(str);
while not eof do
begin
str:='';
str:=Gtow(fieldbyname('归位深度').AsString)+' '
+Gtow(fieldbyname('油质波长均值').AsString)+' '
+Gtow(fieldbyname('油质发光面积').AsString)+' '
+Gtow(fieldbyname('油质荧光亮度').AsString)+' '
+Gtow(fieldbyname('胶质波长均值').AsString)+' '
+Gtow(fieldbyname('胶质发光面积').AsString)+' '
+Gtow(fieldbyname('胶质荧光亮度').AsString)+' '
+Gtow(fieldbyname('沥青质波长均值').AsString)+' '
+Gtow(fieldbyname('沥青质发光面积').AsString)+' '
+Gtow(fieldbyname('沥青质荧光亮度').AsString)+' '
+Gtow(fieldbyname('水波长均值').AsString)+' '
+Gtow(fieldbyname('水发光面积').AsString)+' '
+Gtow(fieldbyname('水荧光亮度').AsString)+' '
+Gtow(fieldbyname('色差').AsString)+' '
+Gtow(fieldbyname('含油性评价指数').AsString); //提取数据库中的信息
strlist1.Add(str);
next;
end;
strlist1.SaveToFile(savedialog1.FileName); strlist1.Free;
end;
end;
end;