如何把一个整数转换成长度为3的字符串,如果数字不足3位则在前面补零?比如
  1--》 001
  11--》011

解决方案 »

  1.   

    case i of
      0..9: s := '00' + IntToStr(i);
      10..99: s := '0' + IntToStr(i);
    end;
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      Str : string;
    begin
      Str := Format('%.3d',[1111]);
      ShowMessage(Str);
    end;
      

  3.   

    s := IntToStr(i)
    while Length(s) < 3 do
      '0' + s;
      

  4.   

    str:=format('%0.3d',[i]);
    要加0.
      

  5.   

    var i: integer;
    begin
     i := 1;
     showMessage(Format('%.3d', [i]));
    end;
      

  6.   

    pazee(耙子)(今年过年不收礼,收礼只收尿不湿) -_-!
      

  7.   

    y=copy(inttostr(x+100),2,2);x为你所给的值,y为结果.
      

  8.   

    :b
    ...
      ShowMessage(FormatFloat('000', 2));
    ...
      

  9.   

    俺是来接分的,人家不知道format有什么希罕么?谁还不是从头学起的,是吧楼主?多给我点分
    :)
      

  10.   

    function lfillchar(tempstr:string;icount:integer):string;
    begin
    if length(trim(tempstr)) < icount then
    lfillchar :=stringofchar('0',icount - length(trim(tempstr)))+tempstr
    else
    lfillchar :=trim(tempstr);
    这个函数可以做到
      

  11.   

    汗啊,楼上的还写什么函数,现成就有个了!速度还比你快
    str:=format('%0.3d',[i]);  //这个最简单了!;
      

  12.   

    str1 := "000";
    str2 := IntToStr(Num);
    str1 := str1 + str2;
    str2 := copy(str1,Length(str2) - 1,3)
      

  13.   

    I always use the same method as the one of dickeybird888(于伟刚) str := copy(inttostr(intvalue+1000), 2, 3);
      

  14.   

    >>str := copy(inttostr(intvalue+1000), 2, 3);
    >>str2 := copy(str1,Length(str2) - 1,3)
    >>lfillchar :=trim(tempstr);
    >>while Length(s) < 3 do '0' + s;
    >>case i of 0..9: s := '00' + IntToStr(i); 10..99: s := '0' + IntToStr(i); end;真是高啊!!!长见识。惭愧中
      

  15.   

    原来不用format也可以格式化字符串
    真是佩服弟兄们的想象力
      

  16.   

    procedure TForm1.Button2Click(Sender: TObject);
    var
      i: integer;
    begin
      i := 3;
      ShowMessage(Format('%.6d',[i]));
    end;
      

  17.   

    //创建字符串函数
    function BuildStr(vCh:Char;vLength:integer):string;
    var
      vTmp:string;
      i:integer;
    begin
      vTmp:='';
      for 0:=0 to vLength-1 do
       vTmp:=vTmp+vCh;
      Result :=vTmp;
    end;
    //以下是检测并生成指定长度的字符串。
    function TranslateIntToStr(value:integer):string;
    var
      vTmp:string;
    begin
      vTmp:=intTostr(value);
      vTmp:=BuildStr('0',3-Length(vTmp))+vTmp;
      Result :=vTmp;
    end;简单吧,呵呵。
      

  18.   

    str := format('%0.3d',[i]);
    或者:
    str := FormatFloat('000',1);
    哈哈,如果要定义长度多少,就几个 0
      

  19.   

    format('000', xxx)
    55555555555
    没人回复的时候打开网络挂了
    网络通了
    答案都被答了
      

  20.   

    来晚了,再补充一个:
    strright('00'+inttostr(i),3)