OnixS C++ FIX Engine 4.13.0
API Documentation
Loading...
Searching...
No Matches
Decimal Class Reference

Public Member Functions

 Decimal (DecimalMantissa mantissa=0, DecimalExponent exponent=0)
 Decimal (Double value, size_t precision=17)
DecimalMantissa mantissa () const
void mantissa (DecimalMantissa)
DecimalExponent exponent () const
void exponent (DecimalExponent)
bool operator== (const Decimal &) const
bool operator!= (const Decimal &) const
bool operator< (const Decimal &) const
bool operator> (const Decimal &) const
 operator Int32 () const
 operator UInt32 () const
 operator Int64 () const
 operator UInt64 () const
 operator Double () const
bool toNumber (Int32 &) const
bool toNumber (UInt32 &) const
bool toNumber (Int64 &) const
bool toNumber (UInt64 &) const
bool toNumber (Double &) const
void toString (std::string &) const
std::string toString () const

Static Public Member Functions

static bool tryParse (const char *buffer, size_t bufferSize, Decimal &)
static Decimal parse (const char *buffer, size_t bufferSize)

Detailed Description

Definition at line 47 of file Numeric.h.

Constructor & Destructor Documentation

◆ Decimal() [1/2]

Decimal ( DecimalMantissa mantissa = 0,
DecimalExponent exponent = 0 )
inline

Initializes an instance from compound components.

Definition at line 168 of file Numeric.h.

◆ Decimal() [2/2]

Decimal ( Double value,
size_t precision = 17 )
explicit

Converts the Double value to a decimal.

Parameters
valueThe double precision floating-point value.
precisionDefines the conversion precision.

Member Function Documentation

◆ exponent() [1/2]

DecimalExponent exponent ( ) const
inline

Returns the exponent part of the decimal.

Definition at line 193 of file Numeric.h.

◆ exponent() [2/2]

void exponent ( DecimalExponent value)
inline

Updates the exponent part of the decimal.

Definition at line 200 of file Numeric.h.

◆ mantissa() [1/2]

DecimalMantissa mantissa ( ) const
inline

Returns the mantissa part of the decimal.

Definition at line 178 of file Numeric.h.

◆ mantissa() [2/2]

void mantissa ( DecimalMantissa value)
inline

Updates the mantissa part of the decimal.

Definition at line 185 of file Numeric.h.

◆ operator Double()

operator Double ( ) const
inline

Casts to the whole integer number as a regular floating point value is casted.

Exceptions
Thedomain_error exception on a failure.

Definition at line 255 of file Numeric.h.

◆ operator Int32()

operator Int32 ( ) const
inline

Casts to the whole integer number as a regular floating point value is casted.

Exceptions
Thedomain_error exception on a failure.

Definition at line 207 of file Numeric.h.

◆ operator Int64()

operator Int64 ( ) const
inline

Casts to the whole integer number as a regular floating point value is casted.

Exceptions
Thedomain_error exception on a failure.

Definition at line 231 of file Numeric.h.

◆ operator UInt32()

operator UInt32 ( ) const
inline

Casts to the whole integer number as a regular floating point value is casted.

Exceptions
Thedomain_error exception on a failure.

Definition at line 219 of file Numeric.h.

◆ operator UInt64()

operator UInt64 ( ) const
inline

Casts to the whole integer number as a regular floating point value is casted.

Exceptions
Thedomain_error exception on a failure.

Definition at line 243 of file Numeric.h.

◆ operator!=()

bool operator!= ( const Decimal & ) const

Compares two numbers.

◆ operator<()

bool operator< ( const Decimal & ) const

Compares two numbers.

◆ operator==()

bool operator== ( const Decimal & ) const

Compares two numbers.

◆ operator>()

bool operator> ( const Decimal & ) const

Compares two numbers.

◆ parse()

Decimal parse ( const char * buffer,
size_t bufferSize )
static

Parses the decimal from the string presentation.

Exceptions
Thestd::exception on a failure.

◆ toNumber() [1/5]

bool toNumber ( Double & ) const

Casts to the floating point number.

Returns
false if the conversion fails.

◆ toNumber() [2/5]

bool toNumber ( Int32 & ) const

Casts to the whole integer number as a regular floating point value is casted.

Returns
false if the conversion fails.

◆ toNumber() [3/5]

bool toNumber ( Int64 & ) const

Casts to the whole integer number as a regular floating point value is casted.

Returns
false if the conversion fails.

◆ toNumber() [4/5]

bool toNumber ( UInt32 & ) const

Casts to the whole integer number as a regular floating point value is casted.

Returns
false if the conversion fails.

◆ toNumber() [5/5]

bool toNumber ( UInt64 & ) const

Casts to the whole integer number as a regular floating point value is casted.

Returns
false if the conversion fails.

◆ toString() [1/2]

std::string toString ( ) const
inline

Returns the text presentation of the decimal.

Definition at line 268 of file Numeric.h.

◆ toString() [2/2]

void toString ( std::string & ) const

Appends the text presentation to the given string.

◆ tryParse()

bool tryParse ( const char * buffer,
size_t bufferSize,
Decimal &  )
static

Attempts to parse the decimal value from its string/text presentation.

Returns
false on the parsing failure.