指定是否将数值字段视为浮点或BCD。
bool EnableBCD = {read=FEnableBCD, write=FEnableBCD, default=1};
描述
使用EnableBCD属性指定字段如何映射到字段类。如果EnableBCD为真,则在创建字段对象时将(默认值)adDecimal和adNumeric字段映射到TBCDField类。如果EnableBCD为false,则将字段映射到TFloatField类。
EnableBCD确定将数值和小数字段转换为浮点值还是二进制编码的小数(BCD)值。BCD值消除了与浮点数相关的四舍五入错误(例如导致2.00000000001的3 *(2/3))。
如果使用持久字段对象(例如使用字段编辑器创建的对象),与给定字段关联的字段类可能与EnableBCD的设置相矛盾。例如,同一个表中的三个数值字段可以分别由TFloatField、TBCDField和TVariantField表示,而不考虑EnableBCD中的值。根据字段逐个字段选择字段类,以获得更大的灵活性。
注意:对于小数点右移4位以上的数值,通常使用TFloatField更好。这是因为TBCDField使用的货币数据类型具有固定的小数点后4位刻度。
注意:对于大于19位有效数字的非常大的字段,可以使用TVariantField类型的持久字段对象。TFloatField和TBCDField类对于这种大小的字段缺乏足够的容量。TVariantField允许以字符串的形式获取和设置字段数据,防止由于容量不足而丢失数据。然而,算术运算不能对通过TVariantField对象访问的数字执行。
EnableBCD属性
最新推荐文章于 2022-11-22 10:41:16 发布