Delphi中對BCD碼的直接支持 .


最近在Delphi下寫軟件,需要將數據轉換為BCD碼和將BCD碼轉換為其它數據類型,從網上搜索了一下,沒有發現好的函數,於是就想自定義函數來完成BCD與其它格式的數據轉換功能。但最終沒有動手寫,先查查Delphi的幫助吧。結果一查才發現Delphi還真的直接支持BCD碼的數據。現將Delphi對BCD碼的支持資料大致介紹一番:

首先,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碼,轉換失敗返回給定的默認值


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM