## Integers

Integers are whole numbers such as ...-4,-3,-2,-1,0,1,2,3,4... In Gel, integers are defined with the **int** keyword and name of the variable.

```
int i;
int count;
i = 1;
i = 1 + 2;
```

Floating point numbers such as **floats** and **doubles** are rounded (up or down) to the nearest integer when assigned to an int.

```
int i = 2.3; /* i = 2 */
int i = 2.5; /* i = 3 */
int i = 2.8; /* i = 3 */
```

When assigned to an integer variable, Gel will attempt to convert **strings** to a numeric value. If the string is a number such as "30", the number 30 will be stored as an int. If the string cannot be converted into a number, then zero will be stored in the int.

```
int i = "30"; /* i = 30 */
int i = "hello"; /* i = 0 */
```

The same rounding rules apply from **floats** and **doubles**.

```
int i = "3.3"; /* i = 3 */
int i = "3.8"; /* i = 4, due to rounding up */
```

If the string contains a number as a prefix, the number will be stored as an int while the rest of the string will be ignored. The same is not true if the number is at the end of the string.

```
int i = "3 pigs"; /* i = 3 */
int i = "run 4"; /* i = 0 */
```