Programmer Guide/Command Reference/NUM: Difference between revisions
From STX Wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
| Line 14: | Line 14: | ||
:;decimal numbers: <code>123.456, 17.5e3, 100, -312.123, 1e-3</code> | :;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</ | :;special constants: <code>pi</code> (=3.1415...), <code>e</code>(=2.71828...), <code>rand</code> (a linear distributed pseudo random number in the range -1..1) | ||
:;unary numerical operators: <code>-''a''</code> | :;unary numerical operators: <code>-''a''</code> | ||
:;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> | :;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> | ||
Revision as of 14: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(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
INTcommand 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.
- The
- 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?