Delphi FireDAC TFDQuery 显示格式

Delphi FireDAC TFDQuery DisplayFormat

我有一些与 FormatOptions 有关的问题。 我有一个销售屏幕,在迁移到 Firedac(以前是 IBO)后,完整值(例如:100.00、52.00)开始显示如下:

(国际文凭组织) 100.00 52.00

(FireDAC) 100 52

我尝试通过以下配置来使用 MapRules

SourceDataType dtBCD
TagetDataType dtBCD
PrecMax 18
PrecMin 1
ScaleMax 5
ScaleMin 0

我激活了OwnMapRules选项,但是显示还是一样。所以我尝试使用fmtDisplayNumeric property。通知 ',0.00' 部分解决了我的问题,为什么将显示限制为两位小数,但有些字段的小数位超过 2 位。此外,我的整数字段在显示屏上显示小数位。

我尝试在 MapRules 中为整数字段创建规则,但问题仍然存在。

遇到这种情况怎么办?

提前致谢!

MapRules 与显示格式无关。它将驱动程序数据类型转换为您要在应用程序中使用的数据类型,反之亦然。

IBO 组件对数字字段有特定的行为。他们将其视为货币字段,具体取决于数字比例。参见 IBO documentation

默认情况下,Firedac 使用区域设置来格式化输出。您可以在 this paper.

中阅读如何更改此行为