< Scripting | Data Types

A **Number** in Lua is a double precision floating point number (or just 'double'). Every Lua variable that is simply a number (not a Vector3, just a number) with or without decimal places, negative or positive, is a double.

## Contents |

There are several ways you can include numbers into your Lua script. All of these ways include *literals*, which are values that will be used in your program **exactly** as they are seen in the source.

Once they are included into your script, you can perform manipulate and operate on these numbers.

The following are valid numbers literals:

Doubles can range from 1.7E–308 to 1.7E+308 (that's around 15 digits, positive or negative). In most cases, this is easily big enough for what you need it for (15 digits is about one hundred trillion, so you won't need much bigger than that). It is not possible to go out of this limit.

*NOTE:* All of the above examples are in base-10, or decimal.

Lua is also capable of accepting number literals in base-16, or hexadecimal.
While decimal numbers include the characters `0`

through `9`

, hexadecimal numbers use `0`

through `F`

.

To declare a number literal as hexadecimal (hex for short), prefix it with `0x`

.

The following are valid hex number literals:

Hex | Decimal |
---|---|

0x1234 | 4660 |

0xABCD | 43981 |

0xface | 64206 |

Certain Properties in Roblox require a whole number, or a positive number. In such cases an Integer will be asked for, instead of a number. If the number in your script doesn't have a decimal place and fits within the range of a Roblox property that required an integer, it will be converted to an integer.