strResult : string;
strResult := Format('%020s', ['abc中国']);本来想得到:strResult='0000000000000abc中国';
但是实际上:strResult='             abc中国';

解决方案 »

  1.   

    整数的转换可以在前面加0,例如:
    strResult := Format('%1.6d', [123]);
    字符串型的就只能补空格了。
      

  2.   

    字符串本身就是用空格补齐的研究一下这个吧
    http://www.hf110.com/Article/jswz/bcjs/delphi/200504/822.html
      

  3.   

    Delphi 中有没有其它函数有这个功能啊
      

  4.   

    写一个用着先
    function MyFormat(const Format1:String ;const Args:array of const):String;
    begin
      Result:=StringReplace(Format(Format1,Args),' ','0',[rfReplaceAll]);
    end;
      

  5.   

    用替换不安全,如果正文中有空格会把正文里的也替换掉的正如老之所说,如果后面的参数是整型的话format可以补0,否则只能补空格了这个问题可以不用format解决strResult:=RightStr('00000000000000000000'+你的字符串,20)