DGGrid显示小数的有关问题

DGGrid显示小数的问题
我的数据库中数据显示为 :
DGGrid显示小数的有关问题

但是在程序运行后,DBGrid显示为:
DGGrid显示小数的有关问题

求解是什么原因及解决方案。
------解决思路----------------------
有几种方法可以实现,一是自画格子内容,用FormatFolat输出指定位数的小数。二是通过设定字段的显示格式。三是通过SQL语句转换。

就拿第二种方法来说,简单实现:
ADOQuery1->Close();
ADOQuery1->SQL->Text = "select 字段名 from 表名";
ADOQuery1->Open();

((TFloatField *)ADOQuery1->FieldByName("字段名"))->DisplayFormat = "#####.##";

------解决思路----------------------
是的,这个和浮点数在数据库中的存储格式有关,浮点数在数据库字段中是“近似值”存储,不是精确的值,使用的时候转换一下就可以了

比较理想的方法是直接在SQL语句中处理:

  SELECT mon_txt,FORMAT(mon_data,'##.0#') as 本期值, FORMAT(targ_value,'##.0#') as 目标值, FORMAT(year_data,'##.0#') as 本期累计 FROM dbo_stat_graph_data ORDER BY period_no;

  //#表示显示大于0的数,0表示0必须显示