首先,Delphi支持的BCD碼的數據類型名為TBCD,它的定義如下:
type
TBcd = packed record
Precision: Byte; { 精度,1..64 }
SignSpecialPlaces: Byte; { 符號位等信息的組合,按位表示,D7:符號位,D6:Special(不知道翻譯成什么意思較好), D5~D0:Places }
Fraction: packed array [0..31] of Byte; { BCD值,每個字節能夠表示00~99范圍內的值,Fraction[0]是最高位}
end;
對BCD的支持是在FMTBcd單元中,所以要使用BCD函數,則需要引用此單元。
Delphi的BCD函數有:
BcdAdd procedure
計算兩個BCD碼的和
BcdCompare function
比較兩個BCD的大小
BcdDivide procedure
BCD數據相除
BcdMultiply procedure
BCD數據相乘
BcdPrecision function
返回BCD的數據個數。如BCD的123返回值為3,BCD值為9382時返回值為4。
BcdScale function
返回BCD碼的小數位數
BcdSubtract procedure
兩個BCD碼相減
BCDToCurr function
轉換BCD碼為Current格式的數據類型
BcdToDouble function
BCD碼轉換為Double格式的數據類型
BcdToInteger function
BCD碼轉換為Integer格式的數據類型
BcdToStr function
BCD碼轉換為字符串
BcdToStrF function
BCD碼轉換為帶格式控制的字符串
CurrToBCD function
Current數據類型轉換為BCD碼
DoubleToBcd function
Double數據類型轉換為BCD碼
FormatBcd function
格式化BCD碼為字符串
IntegerToBcd function
Integer整數類型轉換為BCD碼
IsBcdNegative function
判斷BCD是否為負數
NormalizeBcd function
將一個BCD的值根據給定的精度和小數位數轉換為另外一個BCD碼的值
NullBcd constant
判斷BCD是否為NULL
StrToBcd function
字符串轉換為BCD碼
TryStrToBcd function
字符串轉換為BCD碼,轉換失敗返回給定的默認值