str := '34'
str := Format('%5S',[str]);     前面补的是' ',怎么把空格换成0

解决方案 »

  1.   

    才5位..自己加拉..str := rightstr('00000' + str, 5)
      

  2.   

    1.如2楼的写法,先拼上五个0后右截取;
    2.写个循环判断长度小于五位就左补0的;
    3.Format('%.5d',[strToInt(str)]) ,前提是str能转换成整数.
      

  3.   


    uses System.StrUtils;var
      str: string;
    begin
      str := '34';
      str := Format('%5s', [str]);       //格式化字符串,用空格式填充
      str := ReplaceStr(str, ' ', '0');  //将空格替代换0
      ShowMessage(str);
      

  4.   

    uses
      strutils;...
    str := dupestring('0',5-length(str))  +str;
      

  5.   

      刚忙完才记得我发帖问了,之前我已经通过转换成数字再Format方法实现(如3楼第三种方法和五楼方法)
      刚才试了下二楼和五楼的,二楼界定了长度5位,五楼方法没有,都可根据不同时候的需要使用不同方法;三楼方法本来也想用的,但感觉先补空再替换有点绕(刚才为了确定是不是可行,貌似引用了strutils还是无法使用ReplaceStr,rightstr能使用)