如何在程序运行时动态控制数据字段的显示精度(不是在设计时设置Field的display format,运行时好象找不到该属性)

解决方案 »

  1.   

    f:=strtofloat(format('%.2f',[sf*1.12+df*0.68]));
                  dm.DataModule4.gxsj.close;
                  dm.DataModule4.gxsj.sql.clear;
                  dm.DataModule4.gxsj.sql.add('update '+temparray[2,i]+'');
                  dm.DataModule4.gxsj.sql.add('set sdf=round(:f,-2)');
                  dm.DataModule4.gxsj.sql.add('where gzid=:gzh ');
                  dm.DataModule4.gxsj.Parameters.ParamByName('f').Value:=f;
                  dm.DataModule4.gxsj.Parameters.ParamByName('gzh').value:=gzh;
                  dm.DataModule4.gxsj.ExecSQL;这是我自己想的,很多办法我都试过了!除了在数据库中设置字段,和DISPLAYFORMAT。我就试到这种办法可行!
      

  2.   

    已经解决了,使用tfloatfield(field).displayformat:='0.00'
      

  3.   

    你这个也是用了DISPLAYFORMAT。
    因为我的字段太多!所以修改大,所以我就想了这样的办法!呵呵!
      

  4.   

    DisplayFormat:='#,0.00'会好些吧,可以显示分隔符, :P