# Number

## Contents

# 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 number data type is also sometimes referred to as "scalar" (for example, returned by the supportInfo script command).

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`