还是有误!
源代码!
with Frm_data.ADOQuery1 do
    begin
      close;
      sql.Clear;
      sql.Add('select sum(xse) from xs where sj>:t1 and sj<:t2');
      Parameters[0].Value:=tmp_star;
      parameters[1].Value:=tmp_end;
      Open;
      tmp_xse:=Fields[0].AsString;
      label6.Caption:=format('%8.2f',[tmp_xse])+'元';
      //format('%8.2f',[tmp_xse])
    end;

解决方案 »

  1.   

    tmp_xse:=Fields[0].AsFloat; <---------改这个
          label6.Caption:=format('%8.2f',[tmp_xse])+'元';
          //format('%8.2f',[tmp_xse])//tmp_xse的类型为Float!!!
    或者你可以一步到位:
    Lable6.Caption := Format('%8.2f', [Fields[0].AsFloat]) + '元';
      

  2.   

    tmp_xse:=Fields[0].AsFloat; <---------改这个
          label6.Caption:=format('%8.2f',[tmp_xse])+'元';
          //format('%8.2f',[tmp_xse])//tmp_xse的类型为Float!!!
    或者你可以一步到位:
    Lable6.Caption := Format('%8.2f', [Fields[0].AsFloat]) + '元';
      

  3.   

    tmp_xse:=Fields[0].AsFloat; <---------改这个
          label6.Caption:=format('%8.2f',[tmp_xse])+'元';
          //format('%8.2f',[tmp_xse])//tmp_xse的类型为Float!!!
    或者你可以一步到位:
    Lable6.Caption := Format('%8.2f', [Fields[0].AsFloat]) + '元';
      

  4.   

    tmp_xse:=Fields[0].AsString;
    你已经 asstring 了,不用format了!
      

  5.   

    //这样的写法没有问题,主要是tmp_xse的类型不是浮点数,所以会出错
    //参考如下代码
    Tmp_str := Format('%*.*f', [8, 2, StrToFloat(tmp_xse)]);
    //or
    Tmp_str := Format('%*.*f', [8, 2, StrToFloatDef(tmp_xse, 0)]);