Data.FmtBcd.TBcd

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

Delphi

TBcd  = record

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);
    static TBcd __fastcall _op_Implicit(const double d);
    static TBcd __fastcall _op_Implicit(const int I);
    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);
    TBcd& operator =(const System::UnicodeString str) { *this = TBcd::_op_Implicit(str); return *this; }
    TBcd& operator =(const double d) { *this = TBcd::_op_Implicit(d); return *this; }
    TBcd& operator =(const int I) { *this = TBcd::_op_Implicit(I); return *this; }
    friend TBcd operator +(const TBcd &A, const TBcd &B) { return TBcd::_op_Addition(A, B); }
    friend TBcd operator -(const TBcd &A, const TBcd &B) { return TBcd::_op_Subtraction(A, B); }
    friend TBcd operator *(const TBcd &A, const TBcd &B) { return TBcd::_op_Multiply(A, B); }
    friend TBcd operator /(const TBcd &A, const TBcd &B) { return TBcd::_op_Division(A, B); }
    TBcd operator -() { return TBcd::_op_UnaryNegation(*this); }
    friend bool operator ==(const TBcd &A, const TBcd &B) { return TBcd::_op_Equality(A, B); }
    friend bool operator !=(const TBcd &A, const TBcd &B) { return TBcd::_op_Inequality(A, B); }
    friend bool operator >(const TBcd &A, const TBcd &B) { return TBcd::_op_GreaterThan(A, B); }
    friend bool operator <(const TBcd &A, const TBcd &B) { return TBcd::_op_LessThan(A, B); }
    friend bool operator >=(const TBcd &A, const TBcd &B) { return TBcd::_op_GreaterThanOrEqual(A, B); }
    friend bool operator <=(const TBcd &A, const TBcd &B) { return TBcd::_op_LessThanOrEqual(A, B); }
};

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
record
struct
public
Data.FmtBcd.pas
Data.FMTBcd.hpp
Data.FmtBcd Data.FmtBcd


Beschreibung

TBcd speichert einen binärcodierten Dezimalwert.

TBcd repräsentiert einen binärcodierten Dezimalwert. Der Record enthält die folgenden Felder:

Feld Inhalt

Precision

Die Anzahl der Zeichen in der Dezimalversion des Wertes

SignSpecialPlaces

  • Das Vorzeichen-Bit (0 ist positiv, alle anderen Werte sind negativ)
  • Das Spezialbit (nicht null gibt an, dass der Wert leer ist)
  • Die Anzahl der Stellen nach dem Dezimalzeichen (0 für Precision)

Fraction

Array mit BCD-Nibbles, 00 bis 99 pro Byte, oberes Nibble zuerst. Nur die erste in Precision angegebene Anzahl von Nibbles wird verwendet.

Sie können mit der Funktion Data.FmtBcd.VarFMTBcdCreate eine Variante erstellen, die einen TBcd-Wert repräsentiert. Tatsächlich stellt dies den einfachsten Weg zur Bearbeitung von TBcd-Werten dar, da dann die integrierten Operatoren des Typs Variant genutzt werden können.

Siehe auch