在delphi中的AdoDataSet中用SQL语句查询数据库中的数据,但是数据库中的数据不是保留两位小数的,现在我查询出来的数据要保留两位小数。(是补足两位小数)

解决方案 »

  1.   

    但是,我有一些是整数,有的是一位小数,最高的没有超过两为小数的。我用round是不行的!
      

  2.   

    变相显示
    如DBgrid的DataSource设为一个Query,
    添加一个字段,在CalcFields中编程
    以下是例子
    Procedure TdataM1.Adoquery2.CalcFeids(DataSet:TDataSet):
    begin
      if adoquery2.fieldbyname('type').asstring = 1 then
         adoquery2.fieldbyname('Newtype'):='进口'
      else adoquery2.fieldbyname('Newtype'):='国产';
    end;在adoquery2的datafield中加入type(visible:=false) ,Newtype(visible:=true)不知能否实现你的要求end;
      

  3.   

    var
      uField :Tfield;
      uPField:^TFlaotField;
       //......uField:=DataSet..Fields.Fields[i];
    uPfield:=@uField;
    uPfield.displayformat:='#.00;; '
      

  4.   

    declare @a int,@b numeric(10,2)
    set @a = 1
    set @b = 1.2
    select cast(cast(@a as real) as numeric(10,2)),
         cast(cast(@b as real) as numeric(10,2))
    /*显示结果为
    ------------ ------------ 
    1.00         1.20(所影响的行数为 1 行)
    */