限制DBGrid中的小数位数

时间:2010-09-15 07:52:38

标签: delphi grid

我有一个连接到ClientDataSet的DBGrid,它有一个字段UnitCost。我想要做的是将每个将分配给该字段的值限制为2位小数。除了验证每个输入值之外,还有更简单的方法吗?

3 个答案:

答案 0 :(得分:4)

您可以尝试设置ClientDataset.FieldByName('UnitCost').EditMask := '#.00';

答案 1 :(得分:3)

我通常使用:

TFloatField(Myds.FieldByName('MyField')).DisplayFormat := '#.##';

这适用于所有类型的TDataset

答案 2 :(得分:1)

procedure TFMasterReport.DBDetail**DrawColumnCell**(Sender: TObject;
   const Rect: TRect; DataCol: Integer; Column: TColumn;
   State: TGridDrawState);
begin
    TFloatField(Tempdtl.FieldByName('TS_Rate')).DisplayFormat := '0.000';
    TFloatField(Tempdtl.FieldByName('TS_Tvol')).DisplayFormat := '0.00';
    TFloatField(Tempdtl.FieldByName('TS_permit')).DisplayFormat := '0.00';
    TFloatField(Tempdtl.FieldByName('TS_tax')).DisplayFormat := '0.00';
    TFloatField(Tempdtl.FieldByName('TS_nettval')).DisplayFormat := '0.00';
end;