为什么,我的数据库中显示2.1,而在datagrid中显示2.09993434,dataset中也如此,我改如何作???????????请帮小弟一把!

解决方案 »

  1.   

    难道csdn真的如此萧条,小弟等了半小时,没见一个人影????????????????????可悲啊!!!!!!!!!!!!!!!!!!!!!!!1
      

  2.   

    我想问下, 你是想改变dbgrid的??还是改变你的数据库显示??你用什么显示??
      

  3.   

    aiirii(ari)兄,我只想显示数据库中的数据,可是每次查询以后,比如数据库中数据为2.1,可是dataset中却是2.099454之类,所以datagrid也就不能正常显示,大哥请赐教!!!
      

  4.   

    双击你的table控件,然后田家所有的字段,最后设置变化字段的显示格式。
      

  5.   

    noil0125(珏心)兄,小弟数据库access
       lsk2000(重构疯子)兄,由于小弟结构已经定好,而且老板认为float型更合理,所以小弟也不好改为string
       magc888(繁星)兄,那报表显示的也和datagrid一样,我改如何作,
       不过先谢过各为大哥!!!!!请赐教!!!!!!!!
      

  6.   

    如果你仅需要改变显示精度,可设置该字段的DisplayFormat属性为“#0.00”。
      

  7.   

    在access的“设计”中,将该字段的小数位数自己定义一下
      

  8.   

    1。关于dataset的,可以在该数据集的ongettext事件中用formatfloat函数进行格式化
    2。在报表中,建议你格式化后将数据batchmove到临时表进行显示
      

  9.   

    VeryOldMan(老者)兄,还要打印,我改怎么作,其实我只想忠于数据库中的原始数据,请赐教!!!!!!!!!!!
      

  10.   

    cjs5210(我是菜鸟)兄,刚才小弟查看了一下,好像没有发现ongettext,我该如何作,各位大哥请帮忙!!!!!!!!!!
      

  11.   

    双击数据库控件如ADOTable
    在弹出的窗口中右键->Add All Fields->  然后设置你要改变的字段的OnGetText事件。procedure TForm1.ADOTable1clickGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    begin
      Text := IntToStr(TField(Sender).AsInteger div 2);  //把这个字段/2后显示。你哪做法也一样。
      DisplayText := true;
    end;
      

  12.   

    双击数据库控件如ADOTable
    在弹出的窗口中右键->Add All Fields->  然后设置你要改变的字段的OnGetText事件。procedure TForm1.ADOTable1clickGetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    begin
      Text := IntToStr(TField(Sender).AsInteger div 2);  //把这个字段/2后显示。你哪做法也一样。
      DisplayText := true;
    end;