要求判断6位以内的数字长度!!
如果是一位,在数字前加5个0
如果是二位,在数字前加4个0
..
保持六位长度用来给数据自动编号!

解决方案 »

  1.   

    hehe,不会吧length()然后用case x of...............
      

  2.   

    必须是字符串
    s:string;
    if length(s)=1 then s:='00000'+s;
    以次类推
      

  3.   

    如果是整的,可以先用inttostr()转换一下,然后用length()判断
      

  4.   

    用来给数据自动编号???用字符型吧procedure TADDUSER.Edit3Exit(Sender: TObject);
    var
       SS:String;
    begin
      Edit3.Text:=Trim(Edit3.Text);
      if Not (Edit3.Text='') then
      begin
       SS:='0000000';
       Delete (SS,8-Length(Edit3.Text),Length(Edit3.Text));
       Insert (Edit3.Text,SS,8-Length(Edit3.Text));
       Edit3.Text:=SS;
    end;
    end;
      

  5.   

    sorry!
    应该为:
    Format('%6.6d',[x]);
    x为以为任意整数!
      

  6.   

    for i:=1 to 6-length(yourstr) do
      yourstr := '0' + yourstr;
      

  7.   

    var
      s: string;
    begins:= '1234';
    s:= copy('000000' + s, length(s)+1, 6);showmessage(s);
      

  8.   

    或者
    Format('%6.6d',[StrToInt(x)]);
      

  9.   

    这样吧,
    var
    iLen,i:integer;
    str,s:string;
    begin
    str:=intToStr(vv);
    iLen:=length(str);
    for i:=iLen to 5 do begin
        s:=s+'0';
        end;
        s:=s+intToStr(vv);
       vv:=StrToInt(s);
    end;vv是一串数字
      

  10.   

    var
       i:integer;
       s:string;
    begin
         i:=322;
         s:=inttostr(i);
         while length(s)<6 do
               s:='0'+s;      //六位错不了]
         showmessage(s);
    end;
      

  11.   

    用format函数试试:
    var  s:string;
         i:integer;beging
         s:=format('000000',i);
    end;