如果
谢谢!

解决方案 »

  1.   

    i := Length(S)
    for j := 1 to 6 - i do
      S := '0' + S ;
      

  2.   

    while Length(s)<6 do
      s := '0' + s;这个更精简
      

  3.   

    stiffe()的代码有问题,如果已经是6位就不对了
      

  4.   

    FormatFloat('000000', YOUR VALUE);
      

  5.   

    EdtMngNum.MaxLength:= 6
    for I := Length(EdtMngNum.Text) to EdtMngNum.MaxLength - 1 do
        EdtMngNum.Text := '0' + EdtMngNum.Text;
      

  6.   

    给你三个小函数,自己很早写的,一直用着,没有优化,分别是在右边补,在左边补,在两边补。参数说明 :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;