var sStr :String;sStr :=QueryTotal.fields[0].AsString;
try
  Totals := StrToFloat(sStr);
except
  Totals := 0;
end;

解决方案 »

  1.   

    if QueryTotal.fields[0].AsString=Null then totals:=0
    else totals:=QueryTotal.fields[0].asfloat;
      

  2.   

    你先try一下,在except里设totals为0
      

  3.   

    最好先检查一下是否为空
    然后用real转换
      

  4.   

    if QueryTotal.fields[0]=null then
      totals:=0
    else
      totals:=QueryTotal.fields[0].asfloat;
      

  5.   

    如是delphi6
    试试这样
    Total := StrToFloat(VarToStrDef(QueryTotal.fields[0].Value, '0'));
    delphi5好象没有VarToStrDef;
      

  6.   

    如果知道字段名,用FieldByName就解决了
      

  7.   

    大家都给代码,我也给:
    try
      totals:=QueryTotal.fields[0].asfloat;
    except
      totals:=0;
    end;