Programmer Guide/Command Reference/NUM: Difference between revisions

From STX Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 11: Line 11:
|0<BR>warning code
|0<BR>warning code
|}
|}
;Description: The ''expression'' will be evaluated numerically, and the result (textual representation) will be returned. The ''expression'' may consist of the following parts
;Description: The ''expression'' will be evaluated numerically, and the result (textual representation) will be returned. The ''expression'' may consist of the following parts:
{|class="keinrahmen"
:;decimal numbers: <code>123.456, 17.5e3, 100, -312.123, 1e-3</code>
|numerical constants: ||decimal numbers     ||<code>123.456, 17.5e3, 100, -312.123, 1e-3</code>
:;hexadecimal numbers: <code>0x1234, 0xabc, 0XabC</code>
|                    ||hexadecimal numbers ||<code>0x1234, 0xabc, 0XabC</code>
:;special constants: <code>pi</code> (=3.1415...), <code>e</code>(=2.71828...), <code>rand</rand> (a linear distributed pseudo random number in the range -1..1)
|                    ||special constants   ||<code>pi</code> (=3.1415...), <code>e</code>(=2.71828...)
:;unary numerical operators: <code>-''a''</code>
|                    ||random numbers      ||<code>rand</rand> (a linear distributed pseudo random number in the range -1..1)
:;binary numerical operators: <code>''a''+''b''</code>, <code>''a''-''b''</code>, <code>''a''*''b''</code>, <code>''a''/''b''</code>, <code>''a''%''b''</code>, <code>''a''^''b''</code>
|numerical operators  ||'''-''' (negate)    ||<code>-($#a+1)</code>
 
|                    ||'''+'''
|}





Revision as of 15:50, 21 April 2011

command return value value of RC
NUM expression value of expression or
empty string if the evaluation fails
0
error code
NUMCHECK expression value of expression or
empty string if the evaluation fails
0
warning code
Description
The expression will be evaluated numerically, and the result (textual representation) will be returned. The expression may consist of the following parts:
decimal numbers
123.456, 17.5e3, 100, -312.123, 1e-3
hexadecimal numbers
0x1234, 0xabc, 0XabC
special constants
pi (=3.1415...), e(=2.71828...), rand</rand> (a linear distributed pseudo random number in the range -1..1)
unary numerical operators
-a
binary numerical operators
a+b, a-b, a*b, a/b, a%b, a^b



Notes
  • The INT command converts the result to an integer by truncating it. There is no rounding involved, no rounding at all.
  • In case of the expression being syntactically ill-formed, an error (INT) or warning (INTCHECK) is reported.
See also
NUM, NUMCHECK, EVAL, EVALCHECK


Examples
#result := int 3.1           // #result is set to 3
#result := int 3.9           // #result is set to 3, too
#result := int 3.9 * 3.9     // #result is set to 15 (note that calculation
                             // is done in floating point, resulting in 15.21,
                             // and truncation occurs only on assigning
// compare the preceding example with the following one:
#result := int 3 * int(3.9)  // here, #result will be assigned 9 - cool, isn't it?

Navigation menu

Personal tools