SETNUM Assign or evaluate numeric variable(s) |
Top Previous Next |
This script command performs basic integer arithmetic on variables or strings containing numeric values (e.g., digits 0 - 9) or numeric constants, and assigns the resulting numeric value to a variable. The command results in a syntax error if either [ num1 ] or [ num2 ] are non-numeric. The SETNUM command differs from the SET command in that SET does not limit the variable to contain only numeric digits (e.g., 0 - 9). Leading and trailing space characters are automatically removed.
Consider the following examples.
;; assign a numeric constant to a variable SETNUM num = 100
;; assign a previously assigned variable to a variable SETNUM num = other_num ;; add two variables SETNUM num = var1 + var2
;; add two numeric constants SETNUM num = 100 + 100 ;; following syntax is equivalent SETNUM num = "100" + "100"
;; add/subtract/multiply/divide constant and a variable SETNUM num = other_num + 100 SETNUM num = other_num - 100 SETNUM num = other_num x 100 SETNUM num = other_num / 100
;; determine if the value of a variable is even or odd SETNUM num = other_num % 2 ;; if even then num will be 0, if odd then 1
Important The multiplication operator is ‘x’ (lower-case letter x) and not the expected ‘*’ (asterisk) character. This is because script file comments can begin with an asterisk.
If a numeric variable is to be used in file naming, or other string related operations, where a known string length (with leading zeroes) is desired, the SETNUM command (and INC and DEC commands) may be used as shown below.
;; leading zeroes are preserved when enclosed in quotes SETNUM num = "001"
INC num ;; after incrementing, the result is "002"
DEC num ;; after decrementing, the result returns to "001"
Note: leading zeroes are lost if any other arithmetic operation is performed and saved to the num variable.
Related command(s): DEC, INC, IFNUM, SET See also: Performing Variable Arithmetic and Numeric Comparisons
|