JCL : Thanks again for help and explainations. The reasons I was going wrong was several-fold.

1> Like bunsen, I was not aware that literal constants get "truncated" to ONLY 'float' or 'int' types.

2> I was (also?) under the MISTAKEN belief that by putting a re-cast operator, like (double), at the
start of the expression would then 'crowbar' any contstants, or intermediate values/results,
into that type, and therefore that level of precision. I WAS WRONG..!! shocked!! See, it can happen wink

3> Thanks for your reply to MMike giving us the list of precisions IN DIGITS of the different types.
I could never "decrypt" the manual for that information. Any chance that info could be added/clarified
to the manual as one simple sentence in the "Variables" page? And maybe mention constants are only float or int?

4> As for 'diag_var' truncation down to 9 digits, I WAS already aware.

Again, many thanks for your patience and knowledge.


MMike : I think your "CONV:DOUBLE::DOUBLE" problem is that you are using the (double) like this,
double xyz = 12345;
double abc = (double)xyz;

You cant convert a double TO a double, cause it already is.
Whereas I was going from a constant to a double, which is OK.


"There is no fate but what WE make." - CEO Cyberdyne Systems Corp.
A8.30.5 Commercial