有一个字符串长度不够10位,只有5位,我要在该字符串后面加空格补齐,该如何实现,有没有函数可以实现?

zcfun888 2007-12-26 02:01:50
有一个字符串长度不够10位,只有5位,我要在该字符串后面加空格补齐,该如何实现,有没有函数可以实现?
如:'AAAAA'要转换成'AAAAA '
...全文
529 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
crazyworld 2011-04-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zswang 的回复:]
用Format很方便。

Delphi(Pascal) code
var
S: string;
begin
S := 'AAAAA';
Writeln(Format('"%10s"', [S])); // " AAAAA"
Writeln(Format('"%-10s"', [S])); // "AAAAA "
end;
[/Quote]

如果需要在前面用'0'而不是空格补齐怎么办?
cssoftman 2010-03-21
  • 打赏
  • 举报
回复
我也有这样的问题,用C怎么处理
Varien 2007-12-26
  • 打赏
  • 举报
回复
学习中...
ipbdq 2007-12-26
  • 打赏
  • 举报
回复
楼上的高手!
王集鹄 2007-12-26
  • 打赏
  • 举报
回复
用Format很方便。
var
S: string;
begin
S := 'AAAAA';
Writeln(Format('"%10s"', [S])); // " AAAAA"
Writeln(Format('"%-10s"', [S])); // "AAAAA "
end;
jadeluo 2007-12-26
  • 打赏
  • 举报
回复

function FillRight(S: String; L: Integer):String;
begin
Result := S + StringOfChar(' ', L - Length(S));
end;


一个调用的例子:
ShowMessage(FillRight('AAAAA', 10));
sy_315 2007-12-26
  • 打赏
  • 举报
回复
使用方法: fillright(inputstr,'A',10);

//右填充
function fillRight( str :string; c :char;len : integer):string;stdcall;
var i,lengs :integer;
tmp:string;
begin
lengs :=length(str);
tmp:=str;
//大于等于,直接返回
if (lengs >= len) then
begin
result :=tmp;
end
else
begin
//从右侧填充
for i:=1 to (len-lengs) do
begin
tmp:=tmp+c;
end;
result:=tmp;
end;
end;

16,748

社区成员

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

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