有什么办法在字符位数不够的情况下自动补位,比如我需要位数位8个字节,但是现在有字符串‘我们’,不够8位,我想它自动补位,不知道format能不能实现

解决方案 »

  1.   

    不用format也行补在左边:
     RightStr('要补的字符串' + '我们', 8)
    补在右边
     LeftStr('我们' + '要补的字符传', 8)
      

  2.   

    luke5678(奇异)说的不错,应该可以
      

  3.   

    s 为字符变量
    format('%8s', [s]);  //左边补齐 
    format('%-8s', [s]); //右边补齐
      

  4.   

    给你三个小函数,我自己写的,你试试//补充字符
    function padc(instring:string;numchars:byte;fmtstr:char):string;  //在两边侧补
    function padl(instring:string;numchars:byte;fmtstr:char):string;  //在左侧补
    function padr(instring:string;numchars:byte;fmtstr:char):string;  //在右侧补function padr(instring:string;numchars:byte;fmtstr:char):string;
    begin
      if numchars<=length(trim(instring)) then
         begin
           result:=copy(trim(instring),1,numchars);
         end
      else
        begin
           result:=trim(instring)+stringofchar(fmtstr,numchars-length(trim(instring)));
        end;
    end;function padl(instring:string;numchars:byte;fmtstr:char):string;
    begin
      if numchars<=length(trim(instring)) then
         begin
           result:=copy(trim(instring),1,numchars);
         end
      else
        begin
           result:=stringofchar(fmtstr,numchars-length(trim(instring)))+trim(instring);
        end;
    end;function padc(instring:string;numchars:byte;fmtstr:char):string;
    begin
      if numchars<=length(trim(instring)) then
         begin
           result:=copy(trim(instring),1,numchars);
         end
      else
        if  odd(numchars-length(trim(instring))) then
          begin
           result:=stringofchar(fmtstr,((numchars-1-length(trim(instring))) div 2))+trim(instring)+stringofchar(fmtstr,((numchars+1-length(trim(instring))) div 2));
          end
        else
          begin
           result:=stringofchar(fmtstr,((numchars-length(trim(instring))) div 2))+trim(instring)+stringofchar(fmtstr,((numchars-length(trim(instring))) div 2));
          end;end;
      

  5.   

    参数说明:instring:string;是本来的字符串,如你的'我们'。numchars:byte;想要得到最后的字符数,如你的8。fmtstr:char想补充的字符,如你要空格就是' '。
      

  6.   

    回复人: luke5678(奇异) ( ) 信誉:100 
    补在左边:
     RightStr('要补的字符串' + '我们', 8)
    补在右边
     LeftStr('我们' + '要补的字符传', 8)
    _____________________________________________学习ing只要 '要补的字符串'  长度大于需要的字符串长度就OK了, 而且想补什么都行,
      

  7.   

    Liujc(阿聪) 的答案是正解!!!