MOD Function
Divides one number by another and returns the modulo.
Syntax
MOD(expression1,expression2)
REM(expression1,expression2)
Syntax Elements
expression1, expression2
are any valid DataBasic expressions, or any strings, substrings, or values, that evaluate to numeric values.
Operation
Returns the modulo when expression1 is divided by expression2.
expression2 cannot be zero.
The sign of the result is the same as the sign of expression2.
While MOD (or REM) is typically used with integer operands, it also works for floating point values. For example, MOD(4.3, 2.1) returns 0.1.
MOD returns a value calculated as follows:
MOD(A,B) = A - (ROUND((A/B) - 0.5, 0) * B)
For positive values of expression1 and expression2, MOD() returns the remainder when expression1 is divided by expression2. To calculate the remainder for negative numbers, use the formula A - (INT(A/B) * B)
.
Note
This behaviour can be changed with the REM.MOD compatibility option.
Comments
Because MOD returns zero when expression1 is exactly divisible by expression2, this function is typically used to test whether a number is a multiple of another number.
Examples
IF MOD(A,2) THEN PRINT 'ODD' ELSE
PRINT 'EVEN'
END
Determines if a number is odd or even and prints appropriate message.
INPUT NUM
IF REM(NUM,3) THEN STOP ELSE GO 100
Tests to see if NUM is a multiple of 3. If it isn't, the program terminates; otherwise, control transfers to statement 100.