我有SQLite中這樣一個表:OnCalculate場產生過長數
CREATE TABLE [TABLE1] (
[T_ID] INTEGER PRIMARY KEY ON CONFLICT IGNORE AUTOINCREMENT,
[DATE] DATE UNIQUE ON CONFLICT IGNORE,
[FIELD1] INTEGER,
[FIELD2] INTEGER,
[FIELD3] INTEGER,
[FIELD4] REAL);
我添加了2個新的計算的字段到TABLE1 稱爲SUM1(整數)和SUM2(浮點)。
procedure TForm3.UniTable1CalcFields(DataSet: TDataSet);
begin
UNITable1.Fields.FieldByName('SUM1').asInteger := (UNITable1.Fields.FieldByName('FIELD1').AsInteger) + (UNITable1.Fields.FieldByName('FIELD2').AsInteger) + (UNITable1.Fields.FieldByName('FIELD3').AsInteger);
UNITable1.Fields.FieldByName('SUM2').asFloat := (UNITable1.Fields.FieldByName('SUM1').AsInteger)/(UNITable1.Fields.FieldByName('FIELD4').AsInteger) ;
end;
這種作品,但我有問題與SUM2顯示15位數字。
我想只有兩個像5,811,238小數顯示的數字。 我可以在cxGrid中通過設置字段屬性CalcEdit並將Precision設置爲3. 但我想知道這是否可以在代碼中完成。
有沒有辦法讓我做到這一點?
那麼314/54是5.8148148148148148148148148148148。如果您使用的是持久字段,則可以將DisplayFormat設置爲',0.00 ;; ' –
不錯的答案David A ...忘記了格式...發佈爲答案,如果你願意... – user763539