如何给字符串添加分隔符

人鱼传说 2010-06-13 09:33:15
例如:将 1232342345343543 变成 1,232,342,345,343,543
...全文
601 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
slmax1 2010-06-13
  • 打赏
  • 举报
回复
顶下贴,也就是字符串的格式化
人鱼传说 2010-06-13
  • 打赏
  • 举报
回复
楼上的正确,谢谢。。。
Harryfin 2010-06-13
  • 打赏
  • 举报
回复

ShowMessage(FormatFloat(',#', 1232342345343543))
麦客来了 2010-06-13
  • 打赏
  • 举报
回复
多申请了一个变量count,去掉一下
麦客来了 2010-06-13
  • 打赏
  • 举报
回复

function SplitStr(const source: string; AChar: Char): string;
var
I, sLen, Count: Integer;
begin
Result := '';
sLen := Length(source);
if sLen = 0 then Exit;
for I := sLen downto 1 do
if ((sLen - I) mod 3 <> 0) or (I = sLen) then Result := source[I] + Result
else Result := source[I] + AChar + Result;
end;

procedure TForm1.btn1Click(Sender: TObject);
var
s1, s2: string;
begin
s1 := '1234567890';
s2 := SplitStr(s1, ',');
ShowMessage(s2);
end;
人鱼传说 2010-06-13
  • 打赏
  • 举报
回复
呵呵,有问题。。。。
lovelymelon 2010-06-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 baronyang 的回复:]
从最后一位往前。。。每三位一个分隔符。
[/Quote]
如果是这样,就这样

procedure TForm1.Button2Click(Sender: TObject);
var
s,ss:string;
i:Integer;
begin
s:=self.Edit1.Text;
if s='' then
Exit;
ss:='';
while s<>'' do
begin
if length(s)>=3 then
begin
ss:=','+copy(s,Length(s)-2,3)+ss;
s:=Copy(s,1,Length(s)-3);
end
else
begin
ss:=','+s+ss;
s:='';
end;
end;
ss:=Copy(ss,2,Length(ss)-1);
self.Edit2.Text:=ss;
end;

lovelymelon 2010-06-13
  • 打赏
  • 举报
回复

procedure TForm1.Button1Click(Sender: TObject);
var
s,ss:string;
i:Integer;
begin
s:=self.Edit1.Text;
if s='' then
Exit;
ss:='';
i:=0;
while s<>'' do
begin
if i=0 then
begin
ss:=s[1]+',';
s:=Copy(s,2,Length(s)-1);
end
else
begin
if length(s)>=3 then
begin
ss:=ss+copy(s,1,3)+',';
s:=Copy(s,4,Length(s)-3);
end
else
begin
ss:=ss+s+',';
s:='';
end;
end;
i:=i+1;
end;
self.Edit2.Text:=ss;
end;

人鱼传说 2010-06-13
  • 打赏
  • 举报
回复
从最后一位往前。。。每三位一个分隔符。
lovelymelon 2010-06-13
  • 打赏
  • 举报
回复
你这添加分隔符有规律吗?
第一个,然后后面每三个一组?
dd_zhouqian 2010-06-13
  • 打赏
  • 举报
回复
Harryfin
好强

16,748

社区成员

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

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