dbgrid显示小数为何显示为2.20000004768372 ?我在用ado连接数据库,用dbgrid显示和修改,修改值我输入2.2
post后,则变为2.20000004768372
请问这是什么问题???如何解决?

解决方案 »

  1.   

    改数据库字段类型为numeric可以控制小数位数。
      

  2.   

    显示:设置数据集的displayformat为0.00//显示两位小数
    计算:使用 .AsCurrency; //如:adoquery1.fieldbyname('FieldName').AsCurrency+XXX;
      

  3.   

    1楼和2楼的,我已经在数据库中设置了
     
    to  gxgyj(Jackson...) :
    我是这样设置的:
    form_main.DataSource5.DataSet.FindField('长').EditMask := '00.0';
    也不行,而且大家知道吗?我不是计算,是在dbgrid中编辑时,出现这种情况的。大家在帮想想办法
      

  4.   

    数据库类型设置有问题。
    相应的字段你可能设置成了FLOAT型。
      

  5.   

    (DBGrid1.Columns[1].Field as Tfloatfield).DisplayFormat:='0.####';
      

  6.   

    1、如果你使用的是ACCESS数据库,那么把数据类型修改为双精度型,然后把默认值取消
    2、如果你使用的是SQLSERVER数据库,那么把数据类型修改为DECIMAL,然后自行设定小数点位数