比如将浮点数100.10格式化成000010010,主要是前面填0,请问如何实现。

解决方案 »

  1.   

    哦,没有和C语言一样的sprintf吗?
      

  2.   

    使用format()函数,使用方法可以查delphi再线帮足
      

  3.   

    if Length(E_code.Text)<6 Then
            begin
              a:=Copy('000000',1,6-Length(Trim(E_code.Text)))+Trim(E_code.Text);//-----自动加0!
              E_code.Text:=a;
            end;
    自己看一下一个意思!
      

  4.   

    var
      f:Extended;
      Str:String;Str:=Format('%-.2f',[100.10]);
    Delete(Str,Pos('.',Str),1);
    Showmessage(Format('%-0.9d',[StrToInt(Str)]));
      

  5.   

    可以写一个前面填0的小函数:其中Count是要格式化成的字符串的位数,Num是要格式化的字符串。
    function AddotoStr(Count:integer;Num:integer):string;
    var
      len:integer;
      str1,str2:string;
    begin
      str2:='000000000000000000'//20个(可以确定一个大概的上限)
      str1:=inttostr(Num);
      len:=length(str1);
      if Count<len or Count>20 then
        Exit;
      str2:=copy(str2,1,count-len);
      Result:=str2+str1;
    end;