Caption := Format('%.6d', [13]);
//or
Caption := Format('%.6d', [345]);

解决方案 »

  1.   

    int a = Edit1->Text.ToInt();
    AnsiString string;
    for(int i=0;i<6;i++)
    {
        string = IntToStr(a%10) + string;
        a = a/10;
    }
    如果你用Pascal,自己改写吧。记得好像是    string := IntToStr( a mod 10) + string;
        a := a/10;
      

  2.   

    比较笨的方法:
    var
      i,j:integer;
      s,s1:string;
    begin
      i:=StrToInt(edit1.Text);
      edit2.Text:='';
      if (Length(edit1.Text)>6) then
        Abort;
        s:=IntToStr(i);
        s1:='';
        for j :=1  to 6-Length(edit1.Text)  do
        begin
          s1:=s1+'0';
        end;
        s:= s1+ IntToStr(i);
      edit2.Text:=s;
    end;
    =============================
    String变量在位数较多时最好不要这样用.
      

  3.   

    放分。。
    to zswang(伴水):好像可以,不过没试过。
    to dolphi(李江):你和我的名字一样耶!
    to bobo:辛苦、辛苦,,不过我还有一个更笨的:
            if Length(A)=0 then A:='000000'+A
            if Length(A)=1 then A:='00000'+A
                 ………………
    and to caoguangxin:我也考虑过你的做法,但DELPHI太差,不知道哪个
                       函数能取后六位。(能告诉我吗?)and : 我已用我的更笨的方法试成了,但还是想用你们的再试试。
      

  4.   

    哦?!难得都叫李江。我男/1974/广州人/北京工作。delphi里面用
    AnsiString Text := 12345 + 1000000
    Text = Text.SubString(Text.Length() - 6, 6)
    就可以实现caoguangxin的方法啦。
      

  5.   

    用AnsiString的SubString方法不就可以了吗?看看楼上老兄的例子吧,没骗你的。