给你三个小函数,自己很早写的,一直用着,没有优化,分别是在右边补,在左边补,在两边补。参数说明 :instring 是你原来的字符串,如STR1 numchars 是你想要的最终长度,如5 fmtstr 是你想要填充的字符,如0 自己试试吧。 function padr(instring:string;numchars:byte;fmtstr:char):string; begin if numchars<=length(trim(instring)) then begin result:=copy(trim(instring),1,numchars); end else begin result:=trim(instring)+stringofchar(fmtstr,numchars-length(trim(instring))); end; end;function padl(instring:string;numchars:byte;fmtstr:char):string; begin if numchars<=length(trim(instring)) then begin result:=copy(trim(instring),1,numchars); end else begin result:=stringofchar(fmtstr,numchars-length(trim(instring)))+trim(instring); end; end;function padc(instring:string;numchars:byte;fmtstr:char):string; begin if numchars<=length(trim(instring)) then begin result:=copy(trim(instring),1,numchars); end else if odd(numchars-length(trim(instring))) then begin result:=stringofchar(fmtstr,((numchars-1-length(trim(instring))) div 2))+trim(instring)+stringofchar(fmtstr,((numchars+1-length(trim(instring))) div 2)); end else begin result:=stringofchar(fmtstr,((numchars-length(trim(instring))) div 2))+trim(instring)+stringofchar(fmtstr,((numchars-length(trim(instring))) div 2)); end;end;
numchars 是你想要的最终长度,如5
fmtstr 是你想要填充的字符,如0 自己试试吧。
function padr(instring:string;numchars:byte;fmtstr:char):string;
begin
if numchars<=length(trim(instring)) then
begin
result:=copy(trim(instring),1,numchars);
end
else
begin
result:=trim(instring)+stringofchar(fmtstr,numchars-length(trim(instring)));
end;
end;function padl(instring:string;numchars:byte;fmtstr:char):string;
begin
if numchars<=length(trim(instring)) then
begin
result:=copy(trim(instring),1,numchars);
end
else
begin
result:=stringofchar(fmtstr,numchars-length(trim(instring)))+trim(instring);
end;
end;function padc(instring:string;numchars:byte;fmtstr:char):string;
begin
if numchars<=length(trim(instring)) then
begin
result:=copy(trim(instring),1,numchars);
end
else
if odd(numchars-length(trim(instring))) then
begin
result:=stringofchar(fmtstr,((numchars-1-length(trim(instring))) div 2))+trim(instring)+stringofchar(fmtstr,((numchars+1-length(trim(instring))) div 2));
end
else
begin
result:=stringofchar(fmtstr,((numchars-length(trim(instring))) div 2))+trim(instring)+stringofchar(fmtstr,((numchars-length(trim(instring))) div 2));
end;end;