zoukankan      html  css  js  c++  java
  • 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码,转换失败返回给定的默认值

  • 相关阅读:
    UVALive
    HDU6405 Make ZYB Happy 广义sam
    企业级通用链表雏形
    数据结构与算法-递归的形象化理解
    Pictures & texts synthesiser
    全局变量、局部变量、静态全局变量、静态局部变量在内存里的区别
    LINUX 目录文件结构
    测试
    maven 查找jar包的version
    web.xml文件的web-app标签体各版本的约束
  • 原文地址:https://www.cnblogs.com/coolsundy/p/4755269.html
Copyright © 2011-2022 走看看