Format函数的问题

fengyajun_gliet 2006-04-03 06:50:33
strResult : string;
strResult := Format('%020s', ['abc中国']);

本来想得到:strResult='0000000000000abc中国';
但是实际上:strResult=' abc中国';
...全文
211 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hellolongbin 2006-04-05
  • 打赏
  • 举报
回复
用替换不安全,如果正文中有空格会把正文里的也替换掉的

正如老之所说,如果后面的参数是整型的话format可以补0,否则只能补空格了

这个问题可以不用format解决

strResult:=RightStr('00000000000000000000'+你的字符串,20)
老之 2006-04-03
  • 打赏
  • 举报
回复
写一个用着先
function MyFormat(const Format1:String ;const Args:array of const):String;
begin
Result:=StringReplace(Format(Format1,Args),' ','0',[rfReplaceAll]);
end;
fengyajun_gliet 2006-04-03
  • 打赏
  • 举报
回复
Delphi 中有没有其它函数有这个功能啊
cuteant 2006-04-03
  • 打赏
  • 举报
回复
字符串本身就是用空格补齐的

研究一下这个吧
http://www.hf110.com/Article/jswz/bcjs/delphi/200504/822.html
老之 2006-04-03
  • 打赏
  • 举报
回复
整数的转换可以在前面加0,例如:
strResult := Format('%1.6d', [123]);
字符串型的就只能补空格了。

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧