求一简单算法!

liaoning9 2007-05-31 02:29:13
本人对delphi不了解,现在需要一函数,就是把一字符串后面为零的去掉。比如输入‘1234000’返回1234,‘101100’返回1011.
...全文
160 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
brightyang 2007-05-31
  • 打赏
  • 举报
回复
不过如果是字符串可以考虑先将字符串反转,这样会少作很多循环
brightyang 2007-05-31
  • 打赏
  • 举报
回复
hmzgz81(哩翱)的办法可行
hmzgz81 2007-05-31
  • 打赏
  • 举报
回复
如果全是数字的话可以这样写,效率可能高点。

var
i,Da:integer;
begin
Da:=strtoint(Edit1.Text);
while (Da mod 10 = 0) do
begin
Da:=Da div 10;
end;
showmessage(inttostr(da));
end;
hmzgz81 2007-05-31
  • 打赏
  • 举报
回复
不好意思没看清!
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
i:integer;
begin
str:=edit1.Text;
for i:= length(str) downto 0 do
begin
if str[i]='0' then
delete(str,i,1)
else
break;
end;
showmessage(str);
end;
hmzgz81 2007-05-31
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var
str:string;
i:integer;
begin
str:=edit1.Text;
for i:= length(str) downto 0 do
begin
if str[i]='0' then
delete(str,i,1);
end;
showmessage(str);
end;
chenzhuo 2007-05-31
  • 打赏
  • 举报
回复
一个比较笨的算法:
procedure TForm1.Button1Click(Sender: TObject);
var
S: String;
Index: Integer;
begin
S := '000000';
for Index := Length(S) downto 1 do
if S[Index] <> '0' then Break;
ShowMessage(Copy(S,1,Index));
end;

16,748

社区成员

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

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