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?
Hi @ye.li
the parameters for addRealFromDouble are:
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
So that means when use the addRealFromDouble(), I still need to track how many digits after the decimal point, and set up the corresponding magnitude in the last function parameter. Is it right?
Hi @ye.li
Correct - the difference between this and the addReal is that this saves you having to convert your real number to an int mantissa value.