operator
numeric-expression modulo numeric-expression
Use modulo to find the modulus of a number with respect to a base value. The modulus is the remainder from dividing the number by the base value.
To use BCD numbers in a modulo operation, you must import the ombcd.xmd file in your program. To use floating point numbers, import the omfloat.xmd file.
You can use values of mixed data types (for example, BCD numbers and integers) as long as you follow the rules listed in Operations with mixed data types.
Integer example:
process local integer seconds initial {3700} local integer minutes local integer hours local integer days set minutes to seconds / 60 set seconds to seconds modulo 60 set hours to minutes / 60 set minutes to minutes modulo 60 set days to hours / 24 set hours to minutes modulo 24 output "Days: " || "d" % days || "; Hours: " || "d" % hours || "; Minutes: " || "d" % minutes || "; Seconds: " || "d" % seconds || "%n" ; Output: "Days: 0; Hours: 1; Minutes: 1; Seconds: 40"
Mixed data type example:
import "ombcd.xmd" unprefixed process local bcd seconds initial {3700} local bcd minutes local bcd hours local bcd days set minutes to truncate (seconds / 60) set seconds to seconds modulo 60 set hours to truncate (minutes / 60) set minutes to minutes modulo 60 set days to truncate (hours / 24) set hours to minutes modulo 24 output "Days: " || "d" % days || "; Hours: " || "d" % hours || "; Minutes: " || "d" % minutes || "; Seconds: " || "d" % seconds || "%n" ; Output: "Days: 0; Hours: 1; Minutes: 1; Seconds: 40"