Programmer Guide/Command Reference/INT: Difference between revisions
From STX Wiki
Jump to navigationJump to search
(→INT) |
No edit summary |
||
Line 8: | Line 8: | ||
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. | ||
#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 above example with the following one: | |||
#result := int 3 * int(3.9) // here, #result will be assigned 9 - cool, isn't it? | |||
See also: [[Programmer Guide/Command Reference/NUM|NUM]], [[Programmer Guide/Command Reference/EVAL|EVAL]] | See also: [[Programmer Guide/Command Reference/NUM|NUM]], [[Programmer Guide/Command Reference/EVAL|EVAL]] | ||
Revision as of 12:34, 31 March 2011
var := INT expression var>var := INTCHECK expression
The INT
statement will cause your expression being evaluated as an integer expression. More precisely (more precisely less wrongly), the expression will be evaluated numerically, and the result will be converted to an integer whose textual representation will be the string to be assigned to the destination variable. The calculation itself will be done with the point floating, though (see the below examples for what that means).
Note that the INT
statement 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.
#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 above example with the following one: #result := int 3 * int(3.9) // here, #result will be assigned 9 - cool, isn't it?