如何将整数格式化成编号
如将‘XS’格式化为‘00XS’
谢谢,format好像只能是数字的

解决方案 »

  1.   

    给你三个函数吧,我以前用foxpro时经常用,现在在delphi中我就编写了自己用的。在这里你要用 padl('XS',4,'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;
    请试一试,经验不足,不要见笑。
      

  2.   

    楼上写的什么呀~!偶看不懂,我只知道可以通过设置dispalayformat即可~!
      

  3.   

    这些是通用的字符串填充函数。
    我说明一下吧。
    以楼主的题目为例。把‘XS’格式化为‘00XS’。
    padl(instring:string;numchars:byte;fmtstr:char);
    第一个参数是你原有的字符串,第二个是填充后的总长度,最后一个是要补空的格式字符。现在有‘XS’要变成四位长度,而且要在左边补‘0’,
    所以就调用padl('XS',4,'0')即可。
    padr是在右补字符,padc是在两边补字符。如有不懂欢迎提问。
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
     Edit1.Text:=Format('00%s',['XS']);
    end;