Number Type编辑

A real number, i.e. 1, -25, 6.52, 1805.6352

Numbers are stored as single precision floating point numbers, which allow for a large range of values with limited precision (generally accurate to 6 or 7 decimal places).

The largest real positive number that can be entered via script is: 3.4028235e38

The largest real negative number that can be entered via script is: -3.4028235e38

Larger numbers: In scripts it is possible to generate a representation of an infinite positive or negative number which compares even larger or smaller than the above two floating point limits;

Positive infinity 1e39 = "1.#INF"

Negative infinity -1e39 = "-1.#INF"

Indeterminate (NaN) = "-1.#IND"

The finite command can be used to verify if a number represents infinity or NaN.

Hex numbers编辑

Arma supports hexadecimal numbers in both scripts and configs. Most common notation for hex numbers is 0x followed by the hexadecimal value. Alternatively symbol $ can be used for the same thing. It is also possible to mix and match notations:

hint str 0xFF; //255 hint str $FF; //255 hint str (0xFF + $FF + 255); //765


Degrees are a poetic licence used to indicate a number returned from functions like acos and asin

It's special properties are that it will always supply a value from 0 to 360


Another poetic licence for a Number. Used in angular math computations with commands like rad and deg

Scripting vs Addons编辑

Integers and Floats编辑

Note that unlike config.cpp's (addons), a Number in scripting language is ANY numeric entity. Floats, or integers. It is NOT the same as a config's Integer or Float. Number covers both types.


Note also, unlike config.cpp's, Boolean is a real type in scripting language. In addons, it is a poetic licence for a zero/non zero Integer. In Arma 3 command parseNumber has been extended to accept booleans:

hint str parseNumber true; //1