我想把int类型的数字128转化为12位的补0的字符,该怎么办?(50分)

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

zhouxx

Unregistered / Unconfirmed
GUEST, unregistred user!
如:128
变为ST000000000128
 
s := IntToStr(a);
for i := 1 to 12 - Length(s) do s := '0' + s;
 
str:=inttostr(i);
while str.length<12 do str:='0'+str;
str:='ST'+str;
 
我是想用format,
 
procedure TForm1.Button1Click(Sender: TObject);
function str12(i:Integer):String;
var
j,k,n:Integer;
s:String;
begin
j:=Length(InttoStr(i));
S:='';
for k:=1 to 12-j do S:=S+'0';
Result := S+InttoStr(i);
end;
begin
Button1.Caption:=str12(128);
end;
 
DELPHI中:
S := Format('%0.12d', [128]);

在ORACLE中可以先转成VARCHAR2
再用LPAD('128', 12', '0)即可。
 
DELPHI中:
S := Format('%0.12d', [128]);

在ORACLE中可以先转成VARCHAR2
再用LPAD('128', 12, '0')即可。
 
给你一个函数
type sDirection=(s_Left,s_Right,s_Up,s_Down);
function FillStr(sStr, fStr: string; i: integer;sides:sDirection): String;
begin
if sides=s_Left then //若为s_Left﹐从左填起
begin
while Length(sStr)<i do
sStr:=fStr+sStr;
Result:=sStr;
end
else
begin
while Length(sStr)<i do
sStr:=sStr+fStr;
Result:=sStr;
end;
end;

例﹕FillStr('128','0',12',s_Left)='000000000128';
自己可以根据需要自己改此函数
 
Caption :=FormatFloat('ST0000000000000',128);
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
923
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
743
import
I
后退
顶部