用的是access数据库,该字段设置为数字型,2位小数点。
在数据库里查询时,显示的是正常的20.83。
虽然在TDBGridEn中显示的是20.83,
但双击单元格后显示出的数据却是20.8299999237061。
这是为什么啊,请高手指点
谢谢

解决方案 »

  1.   

    在显示的时候格式化一下。adoquery字段有displayformat属性,设置该属性就OK了
      

  2.   

    DBGridEh双击设置字段的displayformat属性
    或者象楼上说的设置DATASET的displayformat属性
      

  3.   


    这个是DBGridEh显示出来的数据这个是点进去以后的数据这个是数据库里的数据
    在显示的时候我已经做了格式化了,传值的时候传的就是20.83,怎么出来的数变成那么长的了?
      

  4.   

    打开DataSet的字段编辑器,设置字段的DisplayFormat属性为0.00
      

  5.   

    if db_showexc.Columns.Items[t].Field.DataType in [ftInteger, ftCurrency, ftFloat, ftWord, ftBCD] then
            begin
             db_showexc.Columns.Items[t].DisplayFormat:= '#.##';
             db_showexc.Columns.Items[t].Footer.FieldName:= db_showexc.Columns.Items[t].FieldName;
             db_showexc.Columns.Items[t].Footer.ValueType:= fvtSum;
             db_showexc.Columns.Items[t].Footer.DisplayFormat:='#.##';
           end;;我已经在这里设置DisplayFormat了现在问题在于,这个数据看起来是正确的,但是实际上存在失真,
    我要把这些数据打印出来,在打印的时候就看出问题来了20.8299999237061被切成了20.82
      

  6.   

    把 数据集的 EditFormat 也改下.
      

  7.   

    db_showexc.Columns.Items[t].EditFormat 吗?
    没有这个属性阿
      

  8.   

    搞定了,谢谢大家
    原来是打印机的配置文件写错了。
    不过starluck兄的EditFormat,在别的地方也有帮助啦。