Number: Difference between revisions
m (→Number Type: NaN) |
Killzone Kid (talk | contribs) (Hex numbers support) |
||
Line 18: | Line 18: | ||
The [[finite]] command can be used to verify if a number represents infinity or NaN. | 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: | |||
<code>[[hint]] [[str]] 0xFF; //255 | |||
[[hint]] [[str]] $FF; //255 | |||
[[hint]] [[str]] (0xFF + $FF + 255); //765</code> | |||
==Degrees== | ==Degrees== | ||
Line 35: | Line 43: | ||
===Booleans=== | ===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]] | 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: | ||
<code>[[hint]] [[str]] [[parseNumber]] [[true]]; //1</code> | |||
[[Category: Data Types]] | [[Category: Data Types]] |
Revision as of 00:52, 14 March 2016
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