RobotStudio event

Can I use NumToStr on a number with an exponent?

Hi, I seem to be getting a Value error when attempting to use the NumToStr function on a num value with an exponent. Below is an example of my code, to give you an idea of what I am trying to do.

VAR robtarget currentPosition;
VAR num anglex;

currentPosition := CRobT(\Tool:=tool, \WObj:=workobject);
anglex := EulerZYX(\X, currentPosition.rot);
Write CalibrationLog,"Euler angle: X:" + NumToStr(angleX, 7);

The value inside angleX is -4.00217E-7, so I assume the fact that it is formatted this way is what is causing the value error in the NumToStr function. I tried using the Round function in hopes of getting rid of the exponent but this also throws a value error.

Does anyone have any ideas how I might be able to log this value?
Tagged:

Best Answer

  • lemster68
    lemster68 ✭✭✭
    Answer ✓
    Use the optional argument \Exp.  You might also try DNumToStr, but would still need that optional argument.
    Lee Justice

Answers

  • Hi lemster,

    I have tried using the \Exp argument but this does not seem to work either, my guess is that this is more about specifying that we want the output to formatted with an exponent, rather than accepting an input which is formatted this way.

    Dnum did occur to me too, but the EulerZYX function returns a num, do you know how I can assign a num to a dnum variable?
  • NumToDnum function
    Lee Justice
  • Got it working with Dnum, thanks for the help!
  • Great!
    Lee Justice