两个字段计算百分比:
gauge3.Progress:=100*strtoint(DataModule1.ADOTable1.fieldbyname('售出').AsString) div strtoint(DataModule1.ADOQuery1.fieldbyname('总量').AsString);
报错:is not a valid integer value
改用两个DBTEST也是报同样的错误。
gauge3.Progress:=100*strtoint(DBText1.caption) div strtoint(DBText2.caption) ; DataModule1.ADOTable1.fieldbyname('售出').AsString 可能有小数吗? 1、空值问题没处理。 2、如楼上所说小数点问题StrToInt是转整型,有小数点就报错(看样子你的就是栽在这儿了) 空值你的就多定义两变量的事就解决了,如果为空赋为0,至于小数据点的问题,你的可StrToFloat去解决,如果不想要小数,在乘完之后在来个四舍五入函数就OK了!
|