字符串的数字求和(50分)

  • 主题发起人 主题发起人 li_one
  • 开始时间 开始时间
L

li_one

Unregistered / Unconfirmed
GUEST, unregistred user!
有一全是数字的字符串,有什么好的方法把数字进行相加?
例:700706111600002>>7+7+6+1+1+1+6+2
我要得到的结果是和,即31
 
自己写一个求表达式的函数,或者将字符串放在SQL语句中求(select amt=7+7+6+1+1+1+6+2)。
 
一个循环不就可以了吗?
 
function StrSum(str: string):integer;
var
i,n: integer;
begin
n:=0;
for i := 1 to length(str) do
begin
if str in ['0'..'9'] then
n:=n+ord(str)-ord('0');
end;
result:=n;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
caption:=inttostr(StrSum('700706111600002'));
end;
 
用脚本运算,可四则混合运算
var
vScript: Variant;

vScript := CreateOleObject('ScriptControl');
vScript.Language := 'JavaScript';
str := vScript.Eval(str);
 
问题解决,感谢各位的参与
 
支持str格式 不可能有更简单的了
 
后退
顶部