Firebird цифры выводятся в формате 1Е3=1000.
В полях с типом Numeric(X,Y) и Decimal(X,Y) цифры выводятся по такому формату : 1500=1,5Е3. В полях с DOUBLE PRECISION, выводятся всё нормально.
Lazarus 1.Х, Firebird 2.1 и 2.5. FPC 2.6.2.
Модератор: Модераторы
Tango писал(а):В полях с типом Numeric(X,Y) и Decimal(X,Y) цифры выводятся по такому формату : 1500=1,5Е3
alexs писал(а):Укажи в маске поля явный формат - #,###,####,##0.00.
For i:=1 to Fields.Count do
Begin
Case Fields[i-1].DataType of
ftSmallint, ftInteger, ftLargeint, ftWord, ftAutoInc:Begin
FieldsDefs[j]:=TIntegerField.Create(Self);
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
Inc(j);
end;
ftFloat:Begin
FieldsDefs[j]:=TFloatField.Create(Self);
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
TFloatField(FieldsDefs[j]).Precision:=5;
TFloatField(FieldsDefs[j]).DisplayFormat:='#.#####0.00000';
Inc(j);
End;
ftCurrency:Begin
FieldsDefs[j]:=TCurrencyField.Create(Self);
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
TFloatField(FieldsDefs[j]).DisplayFormat:='#.##0.00';
Inc(j);
End;
ftBCD, ftFMTBcd:Begin
FieldsDefs[j]:=TNumericField.Create(Self);
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
TNumericField(FieldsDefs[j]).DisplayFormat:='#.#####0.00000';
Inc(j);
End;
ftString, ftFixedChar, ftVariant:Begin
FieldsDefs[j]:=TStringField.Create(Self);
FieldsDefs[j].Size:=Fields[i-1].Size;
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
Inc(j);
End;
ftFixedWideChar, ftWideString:Begin
FieldsDefs[j]:=TWideStringField.Create(Self);
FieldsDefs[j].Size:=Fields[i-1].Size;
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
Inc(j);
End;
ftDate:Begin
FieldsDefs[j]:=TDateField.Create(Self);
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
Inc(j);
End;
ftTime:Begin
FieldsDefs[j]:=TTimeField.Create(Self);
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
Inc(j);
End;
ftDateTime{$IFDEF FPC}, ftTimeStamp{$ENDIF}:Begin
FieldsDefs[j]:=TDateTimeField.Create(Self);
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
Inc(j);
End;
{$IFNDEF FPC}
ftTimeStamp:Begin
FieldsDefs[j]:=TSQLTimeStampField.Create(Self);
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
Inc(j);
End;
{$ENDIF}
ftBoolean:Begin
FieldsDefs[j]:=TBooleanField.Create(Self);
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
Inc(j);
End;
ftBytes, ftOraBlob, ftVarBytes, ftBlob, ftMemo, ftGraphic, ftFmtMemo,
ftParadoxOle, ftDBaseOle, ftTypedBinary, ftArray,
ftWideMemo:Begin
FieldsDefs[j]:=TBlobField.Create(Self);
FieldsDefs[j].FieldName:=Fields[i-1].FieldName;
Inc(j);
End;
End;
End;
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2