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) | ;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" | |||
|numerical constants: ||decimal numbers ||<code>123.456, 17.5e3, 100, -312.123, 1e-3</code> | |||
| ||hexadecimal numbers ||<code>0x1234, 0xabc, 0XabC</code> | |||
| ||special constants ||<code>pi</code> (=3.1415...), <code>e</code>(=2.71828...) | |||
| ||random numbers ||<code>rand</rand> (a linear distributed pseudo random number in the range -1..1) | |||
|numerical operators ||'''-''' (negate) ||<code>-($#a+1)</code> | |||
| ||'''+''' | |||
|} | |||
Revision as of 14:46, 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
numerical constants: | decimal numbers | 123.456, 17.5e3, 100, -312.123, 1e-3
|
hexadecimal numbers | 0x1234, 0xabc, 0XabC
|
special constants | pi (=3.1415...), e (=2.71828...)
|
random numbers | rand</rand> (a linear distributed pseudo random number in the range -1..1)
|
numerical operators | - (negate) | -($#a+1)
|
+ |
- 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.
- 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?