你好,怎样取字符串中的数字字符出来相加?例如:8a12b23c56d78,取出8+12+23+56+78得到的结果?
解决方案 »
- 现在用delphi做什么软件产品比较好呢?
- 请教一个简单的SQL(DELPHI)查询语句,50分?
- 如何限定inputbox输入字符的长度....
- 1stclass 的安装问题,请教!
- 怎样实现定时抓取摄像头的图片,我已经实现了抓取图片
- 请问:dd:Extended;dd:=sqrt(255*255-4*(192*255)*255);这句为什么会出错呢?错误码信息为"invalid floating point operation.",如何才运
- 求,求一高效的图象相似比较算法!!!
- 请问怎样在程序中自动移动记录指针(用DBGrid)?
- 关于登录 ORACLE 数据库的问题
- 40'for关于注册表编程.
- 为什么DBGRID里只有一条记录时,CellClick事件不正常?!
- DBGrid显示实数时怎么不正常?如何解决?
var
s,t:string;
i,v:integer;
c:char;
begin s:='8a12b23c56d78';
v:=0;
i:=1;
t:='';
while i<=Length(s) do
begin
c:=s[i];
if (c>='0') and (c<='9') then
t:=t+c
else
begin
v:=v+strtoint(t);
// ShowMessage(t);
t:='';
end;
inc(i);
end;
if t<>'' then
v:=v+strtoint(t);
Edit1.Text:=IntToStr(v);
end;
S , S1 : String;
i , n : integer;
begin
S := '8a12b23c56d78';
S1 := '';
n := 0;
for i:=1 to Length(S) do begin
if (S[i]>='0') and (S[i]<='9') then S1 := S1 + S[i]
else begin
n := n + StrToIntDef(S1,0);
S1 := '';
end;
end;
//到这里n的值就是你需要的值
end;
var s:string;
i,sum,a:integer;
begin
s:='8a12b23c56d78';
i:=1;a:=0;
while i<=Length(s)+1 do
begin
if s[i] in ['0'..'9'] then
a:=a*10+StrToInt(s[i])
else
begin
sum:=sum+a;
a:=0;
end;
i:=i+1;
end;
showMessage(IntToStr(sum));
end;