DELPHI7导出TXT还是老问题,如何格式化小数点
00129张富昌 688512090120001504360000000020976630121196403172811
00129张富昌 688512090120001504360000002097.6630121196403172811
procedure TFormdrdf.BitBtn6Click(Sender: TObject);
var
tfile: TextFile;
i: Integer;
begin
assignfile(tfile,'d:\d2.txt');
rewrite(tfile);
begin
ADOQuery1.first;
for i:=1 to ADOQuery1.recordcount do
begin
write(tfile, Format('%.5d',[i])+ADOQuery1.fieldbyname('id').AsString);
write(tfile, Format('%-16s',[ADOQuery1.fieldbyname('姓名').AsString]) );
write(tfile, ADOQuery1.fieldbyname('帐号').AsString+ '00000000');
write(tfile, StringReplace(ADOQuery1.fieldbyname('金额').AsString,'.','',[rfReplaceAll]) );
writeln(tfile,ADOQuery1.fieldbyname('身份证号').AsString);
ADOQuery1.next;
end;
end;
closefile(tfile);
MessageBox(GetActiveWindow(), '数据处理完毕,已保存到D盘,文件名为:dfgz.txt', '导出提醒', MB_OK +
MB_ICONWARNING);
end;
procedure TForm8.btn1Click(Sender: TObject);
Function Fillstr(const s : string; const count : integer):string;
var i : integer;
begin
Result := '';
for i := 1 to count do
Result := result + s
end;
const
ID = 129;
NAME = '张富昌';
ACCOUNT = '68851209012000150436';
MONEY = 20.976;
UID = '630121196403172811';
Money_Len = 12; //金额串的存放长度
var
s, sMoney : string;
begin
sMoney := CurrToStr(MONEY * 100);
sMoney := Fillstr('0', Money_Len - Length(sMoney)) + sMoney;
s := Format('%.5d', [ID]) +
Format('%-16s',[NAME]) +
ACCOUNT +
sMoney +
UID;
ShowMessage(s);
end;