求助 Edit控件中输入一个字符串用来添加到数据库表中一列,字符串比如'5*12.5+3*15+5*12.5,4*7.5+3*10+4*7.5',怎样能在添加时找出其中最大的数字,比如这个字符串中的15,请大家帮忙,多谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把可能出现的运算符都转换为统一的分隔符直接导入到一个TStringList中,也可以用数组循环找出最大值参考代码var s: String; sl: TStringList; i: Integer; fMax: Double;begin s := '5*12.5+3*15+5*12.5,4*7.5+3*10+4*7.5'; sl := TStringList.Create; try s := StringReplace(s, '*', ',', [rfReplaceAll]); s := StringReplace(s, '+', ',', [rfReplaceAll]); //... sl.DelimitedText := s; fMax := StrToFloatDef(sl[0], 0); for i := 1 to sl.Count - 1 do begin if StrToFloatDef(sl[i], 0) > fMax then fMax := StrToFloatDef(sl[i], 0); end; ShowMessage(FloatToStr(fMax)); finally sl.Free; end; ClientSocket用什么方法可以暂停连接 String如何转TStringList,有没有这方面的函数 如何将客户端的ClientData的数据集批量上传到服务器上 ADOQuery的问题 关于打开文件夹的问题,还望大家多多指教! 动态创建的控件,怎样声明它的事件!!!!小乐向高手求救!!! sql server的自增类型 怎么解决这个问题? nil 和null有什么区别? 问题看似简单,却难解决!!不信,您试一试/delphi delphi写一个网络管理程序来控制上网 怎么将数据写入数据库?
直接导入到一个TStringList中,也可以用数组
循环找出最大值
参考代码
var
s: String;
sl: TStringList;
i: Integer;
fMax: Double;
begin
s := '5*12.5+3*15+5*12.5,4*7.5+3*10+4*7.5';
sl := TStringList.Create;
try
s := StringReplace(s, '*', ',', [rfReplaceAll]);
s := StringReplace(s, '+', ',', [rfReplaceAll]);
//...
sl.DelimitedText := s;
fMax := StrToFloatDef(sl[0], 0);
for i := 1 to sl.Count - 1 do
begin
if StrToFloatDef(sl[i], 0) > fMax then
fMax := StrToFloatDef(sl[i], 0);
end;
ShowMessage(FloatToStr(fMax));
finally
sl.Free;
end;