Delphi中TBCDField类型

IDE使用两种不同的字段类型来表示BCD字段:DB.TBCDField和TFMDB.TBCDField。 DB.TBCDField使用货币(Delphi)或System :: Currency(C ++)类型来操纵BCD值。

这比使用真正的BCD类型存储和操作值更快,但是它可以支持4个小数位和20位有效数字的BCD值的精度。

DB.TBCDField在从数据库表中提取数据时将数据从BCD值转换为货币值,并在发布数据时将其从货币值转换为二进制编码的十进制值。

如果基础数据库表包含需要更高精度的值,则DB.TBCDField会引发异常。

如果您的应用程序要求BCD值超过4位小数或20位有效数字,则应使用TFMDB.TBCDField。

TFMDB.TBCDField是一个真正的BCD,具有二进制编码的十进制类型(TBCD)的精度,但性能稍慢。

BCD值比浮点数提供更高的精度和准确度。 BCD字段通常用于存储和操纵货币值。

使用TBCDField类型,遇到总价除以总数时,除不尽的情况下会依据整数位数来决定小数位数:原则

  整数部分小等于3位, 就保留小数点15位, 如果整数部分大于3位, 小数点的位数就要保留18-整数部分位数

猜你喜欢

转载自www.cnblogs.com/Coder-MIFir/p/10823857.html