Programmer Guide/Command Reference/INT: Difference between revisions
From STX Wiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
Line 12: | Line 12: | ||
|} | |} | ||
;Description: This statement will cause your expression being evaluated as an integer expression. More precisely, the expression will be evaluated numerically, and the result will be converted to an integer whose textual representation is the return value. The calculation itself will be done with 64bit floating point accuracy. The same evaluation rules as defined for the [[../NUM|NUM command]] apply to this command. | |||
This statement will cause your expression being evaluated as an integer expression. More precisely, the expression will be evaluated numerically, and the result will be converted to an integer whose textual representation is the return value. The calculation itself will be done with 64bit floating point accuracy. The same evaluation rules as defined for the [[../NUM|NUM command]] apply to this command. | |||
;Notes: | ;Notes: | ||
:* The <code>INT</code> command converts the result to an integer by ''truncating'' it. There is no rounding involved, no rounding at all. | :* The <code>INT</code> 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 (<code>INT</code>) or warning (<code>INTCHECK</code>) is reported. | :* In case of the expression being syntactically ill-formed, an error (<code>INT</code>) or warning (<code>INTCHECK</code>) is reported. | ||
;See also: [[../NUM|NUM, NUMCHECK]], [[../EVAL|EVAL, EVALCHECK]] | |||
<!-- C.G. 31.3.2011 --> | |||
;Examples: | ;Examples: | ||
Line 28: | Line 27: | ||
// compare the preceding example with the following one: | // compare the preceding example with the following one: | ||
#result := int 3 * int(3.9) // here, #result will be assigned 9 - cool, isn't it? | #result := int 3 * int(3.9) // here, #result will be assigned 9 - cool, isn't it? | ||
Revision as of 14:03, 21 April 2011
command | return value | value of RC |
---|---|---|
INT expression
|
integer part of evaluated expression or empty string if the evaluation fails |
0 error code |
INTCHECK expression
|
integer part of evaluated expression or empty string if the evaluation fails |
0 warning code |
- Description
- This statement will cause your expression being evaluated as an integer expression. More precisely, the expression will be evaluated numerically, and the result will be converted to an integer whose textual representation is the return value. The calculation itself will be done with 64bit floating point accuracy. The same evaluation rules as defined for the NUM command apply to this command.
- 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?