EMA C++ post message, value after decimal point is truncated

ye.li
ye.li Explorer

I am using the EMA C++ for posting messages into TRCC. I used addRealFromDouble to add double value to the FieldList. Posting works okay, however the value in TRCC ended up as 1 instead of the contributed 1.0038759000

_fList.addRealFromDouble(21, 1.0038759000 ); /* HST_CLOSE */
_fList.addRealFromDouble(393, 1.0038759000 ); /* PRIMACT_1 */

I tried addDouble, but that has limitation on the length of the value.

questions:

1. Why the value is truncated?

2. What is the better way to post double value?

Best Answer

  • umer.nalla
    umer.nalla LSEG
    Answer ✓

    Hi @ye.li

    the parameters for addRealFromDouble are:

    fieldId field id value
    value added double to be converted to OmmReal
    magnitudeType OmmReal::magnitudeType used for the conversion (default value is OmmReal::Exponent0Enum)


    For non-integer values, you need to specify the MagnitudeType e.g. ExponentNeg7Enum

    See documentation for enum thomsonreuters::ema::access::OmmReal::MagnitudeType for full list.

    The format you are using is for Integer values i.e. default value of Exponent0Enum

Answers