武装突袭 Wiki
注册
Advertisement

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[ | ]

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

Radians[ | ]

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.

Booleans[ | ]

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

Advertisement