Data.FmtBcd.TBcd
Delphi
TBcd = record
Precision: Byte; { 1..64 }
SignSpecialPlaces: Byte; { Sign:1, Special:1, Places:6 }
Fraction: packed array [0..31] of Byte; { BCD Nibbles, 00..99 per Byte, high Nibble 1st }
class operator Implicit(const str: string): TBcd;
class operator Implicit(const d: double): TBcd;
class operator Implicit(const I: Integer): TBcd;
class operator Explicit(const ABcd: TBcd): string;
class operator Explicit(const ABcd: TBcd): Integer;
class operator Add(const A, B: TBcd): TBcd;
class operator Subtract(const A, B: TBcd): TBcd;
class operator Multiply(const A, B: TBcd): TBcd;
class operator Divide(const A, B: TBcd): TBcd;
class operator Negative(const A: TBcd): TBcd;
class operator Equal(const A, B: TBcd): Boolean;
class operator NotEqual(const A, B: TBcd): Boolean;
class operator GreaterThan(const A, B: TBcd): Boolean;
class operator LessThan(const A, B: TBcd): Boolean;
class operator GreaterThanOrEqual(const A, B: TBcd): Boolean;
class operator LessThanOrEqual(const A, B: TBcd): Boolean;
end;
C++
struct DECLSPEC_DRECORD TBcd
{
public:
System::Byte Precision;
System::Byte SignSpecialPlaces;
System::StaticArray<System::Byte, 32> Fraction;
static TBcd __fastcall _op_Implicit(const System::UnicodeString str);
TBcd& __fastcall operator=(const System::UnicodeString str) { *this = TBcd::_op_Implicit(str); return *this; };
static TBcd __fastcall _op_Implicit(const double d);
TBcd& __fastcall operator=(const double d) { *this = TBcd::_op_Implicit(d); return *this; };
static TBcd __fastcall _op_Implicit(const int I);
TBcd& __fastcall operator=(const int I) { *this = TBcd::_op_Implicit(I); return *this; };
static TBcd __fastcall _op_Addition(const TBcd &A, const TBcd &B);
static TBcd __fastcall _op_Subtraction(const TBcd &A, const TBcd &B);
static TBcd __fastcall _op_Multiply(const TBcd &A, const TBcd &B);
static TBcd __fastcall _op_Division(const TBcd &A, const TBcd &B);
static TBcd __fastcall _op_UnaryNegation(const TBcd &A);
static bool __fastcall _op_Equality(const TBcd &A, const TBcd &B);
static bool __fastcall _op_Inequality(const TBcd &A, const TBcd &B);
static bool __fastcall _op_GreaterThan(const TBcd &A, const TBcd &B);
static bool __fastcall _op_LessThan(const TBcd &A, const TBcd &B);
static bool __fastcall _op_GreaterThanOrEqual(const TBcd &A, const TBcd &B);
static bool __fastcall _op_LessThanOrEqual(const TBcd &A, const TBcd &B);
};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
record struct |
public | Data.FmtBcd.pas Data.FMTBcd.hpp |
Data.FmtBcd | Data.FmtBcd |
説明
TBcd は 2 進化 10 進数値を格納します。
TBcd は、2 進化 10 進数値を表すものです。以下のフィールドが含まれます。
フィールド | 内容 |
---|---|
Precision |
値を 10 進数で表現したときの桁数。 |
SignSpecialPlaces |
符号ビット(0 なら正、それ以外の値なら負)。 |
Fraction |
BCD ニブルの配列。バイトごとに 00 から 99 までの数を表し、上位ニブルが先にきます。最初の Precision ニブルしか使用しません。 |
VarFMTBcdCreate 関数を使用すると、TBcd 値を表すバリアントを作成することができます。実際に、TBcd 値を操作するには、その値を表すバリアントを作成し、バリアント型が提供する組み込みの操作を利用するのが一番簡単です。