delphi 类型转换错误 在线等

编码实现将数据库中表的相关信息显示在stringgrid1中,然后在stringgrid1的某列中输入数字(字符串),再添加一个button1和一个edit1,想要实现点... 编码实现将数据库中表的相关信息显示在stringgrid1中,然后在stringgrid1的某列中输入数字(字符串),再添加一个button1 和一个edit1 ,想要实现点击button就能将stringgrid1中指定的列累加,将结果显示edit1中显示计算结果.
button1 clik事件代码如下:
var
s:string;
i:integer;
m:double;
begin
m:=0;
for i:=1 to n do { n是全局变量,在前面已经获得了值,是stringgrid1所要显示的表的行数.}
begin
s:=stringgrid1.cells[3,i];
m:=m+strtofloat(s);
end;
edit1.text:=floattostr(m);
end;

运行是提示:“ '' is not a valid floating point value”
不知道是哪里错了 请高手指教,小弟初学delphi
首先感谢大家的指教,问题解决了,是在转换前剔除空值,看来很多情况下需要的是严谨,不能相当然. 大家的方法一致的,但是我就只有5分,只能有一个人拿分,不管是拿到分的还是没有拿到分的,都希望你们一如既往的帮助我们这些出学者,再次感谢大家,谢谢!
展开
 我来答
lsw29236
2009-06-21 · TA获得超过229个赞
知道答主
回答量:329
采纳率:0%
帮助的人:181万
展开全部
//取值前先判断是否空,空不取

var
s:string;
i:integer;
m:double;
begin
m:=0;
for i:=1 to n do { n是全局变量,在前面已经获得了值,是stringgrid1所要显示的表的行数.}
begin
if stringgrid1.cells[3,i]<>'' then
begin
s:=stringgrid1.cells[3,i];
m:=m+strtofloat(s);
end;
end;
edit1.text:=floattostr(m);
end;
tevistang
2009-06-21 · TA获得超过504个赞
知道小有建树答主
回答量:662
采纳率:0%
帮助的人:463万
展开全部
你都某一个cell里没有值,是空的,所以导致strtofloat(s)这句出错。在strtofloat(s)前先检查s是否是空的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
058005
2009-06-22 · TA获得超过414个赞
知道小有建树答主
回答量:301
采纳率:50%
帮助的人:121万
展开全部
stringgrid1每个cell都加个初始默认值0,就可以了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
kcxnvbdbd
2009-06-21 · TA获得超过523个赞
知道小有建树答主
回答量:885
采纳率:50%
帮助的人:614万
展开全部
可能cells里面包含不可转换的字符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式