Integer data type

You can use the integer data type to store and manipulate integer values. The range of values supported is implementation defined: you should avoid writing programs that depend on a particular range. However, OmniMark will always be able to handle integer values between -2,147,483,648 and 2,147,483,647.

Because any string expression can be used as a numeric value, saved pattern text, attribute values, and even element content can be used as a numeric value, provided that the contents form a valid number.

Numbers with a radix other than 10 must be expressed as a string expression, and can be converted to a numeric expression using the operator base.

You can specify an integer with underscores: this allows digits to be grouped for readability. For example

  process
     local integer x
  
     set x to 1_000_000

Integers are automatically initialized to 0.

You can initialize integer variables when you declare them:

  global integer quantity initial { 5 }
        

You can set the value of an integer to the value of a numeric literal, another integer, the result of an integer expression, or a string expression or literal string that evaluates to an integer value:

  process
     local integer quantity
     local integer number-of-things
     local integer number-of-children
     local integer apples-per-child
     local string  form-data initial { "27" with key "quantity" }
  
     set quantity to 5
     set quantity to number-of-things
     set quantity to number-of-children * apples-per-child
     set quantity to form-data{"quantity"}
     set quantity to "27"
        

You can use the following operators with integers:

See data type conversion for information on how to convert from integer to other data types and vice versa.