Explorando a documentação: Números em Kotlin
Published: 2022-01-30 23:28:25

## Kotlinautas

Esse conteúdo é oferecido e distribuído pela comunidade [Kotlinautas](https://twitter.com/kotlinautas/), uma comunidade brasileira que busca oferecer conteúdo gratuito sobre a linguagem Kotlin em um espaço plural.

![capa Kotlinautas](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/jreawpvk6whxigcpmctf.png)

## Como representar números no Kotlin?

Números em Kotlin podem ser representados de duas maneiras, essas maneiras são os tipos de números que o Kotlin suporta, sendo:

- Inteiros (_Byte_, _Short_, _Int_ e _Long_): números negativos e positivos sem casas decimais
- Racionais (_Float_/_Double_): Número negativos e positivos com casas decimais

### Quais são os tipos inteiros?

Os tipos inteiros se dividem em quatro, sendo esses quatro:

- Byte: Números inteiros de -128 á 127
- Short: Números inteiros de -32768 á 32767
- Int: Números de -2,147,483,648 á 2,147,483,647
- Long: Números de -9,223,372,036,854,775,808 á 9,223,372,036,854,775,807

Por conta desses tipos de números diferentes, devemos pensar em qual será o tamanho do número que vamos guardar, para usar um tipo apropriado para esse número.

### Quais são os tipos racionais?

Os tipos racionais se dividem em Float e Double. A diferença entre Float e Double, é que o número máximo de casas decimais do float são de 7 números, enquanto que o número máximo de casas decimais do _Double_ são de 16 números.

## Usando números inteiros no Kotlin

Podemos usar números inteiros no Kotlin definindo em variáveis, por exemplo:

```kotlin
val exemploNúmero = 101
```

Como não informamos o tipo de número no exemplo acima, O Kotlin irá entender automaticamente qual é o melhor tipo para usar nesse número, que no caso, será `Int`. Mas caso você prefira, também é possível de informar o tipo do número, como no exemplo abaixo:

```kotlin
val exemploNúmero: Int = 101
```

## Usando números racionais no Kotlin

A mesma coisa acontece com os números racionais, podendo ser definidos sem determinarmos o tipo:

```kotlin
val exemploNúmero = 50.5
```

E também determinando o tipo:

```kotlin
val exemploNúmero: Double = 50.5
```

## Operações com números

Podemos fazer operações com números do Kotlin da mesma maneira que qualquer outra linguagem. Uma soma por exemplo pode ser feita dessa forma:

```kotlin
val soma = 10 + 30 // 40
```

- Na variável `soma`, será atribuida o resultado da soma entre os números `10` e `30`, logo, a variável `soma` terá o valor `40`.

Em Kotlin, temos alguns operadores, como:

| Operador         | Símbolo | Exemplo |
| :--------------- | :-----: | ------: |
| Soma             |    +    |  5 + 10 |
| Subtração        |    -    |  5 - 10 |
| Multiplicação    |   \*    | 5 \* 10 |
| Divisão          |    /    |  5 / 10 |
| Resto de divisão |    %    |  5 % 10 |

Você pode estar se perguntando o quê é esse operador de **Resto de Divisão**. Esse operador faz uma divisão comum, mas ao invés de retornar o resultado da divisão, retorna o resto que ficou dessa divisão.

Esse operador é utilizado principalmente para descobrir se um número é par ou impar usando o número `2`. Como por exemplo: `5 % 2`, `10 % 2`,etc.

## Conversão de tipos numéricos

Podemos converter qualquer número para outro tipo numérico ou para outros tipos, como no exemplo abaixo:

```kotlin
val numeroInt = 10
val numeroFloat = numeroInt.toFloat() // 10.0
```

- No exemplo acima, criamos uma variável chamada `numeroInt` valendo 10;
- Após isso `numeroFloat` é definida com o valor de `numeroInt` (`10`), mas transformado em Float. Tendo assim um valor com casas decimais `10.0`;

Também podemos converter para outros tipos que não sejam numéricos, como no exemplo abaixo:

```kotlin
val numeroInt = 10
val numeroString = numeroInt.toString() // "10"
```

- No exemplo acima, criamos a `numeroInt` novamente, e depois criamos a `numeroString` tendo o valor da `numeroString`, mas em forma de String, não número.

## Finalização

Nesse artigo, você aprendeu a como usar números, fazer operações, e conversões com esses números no Kotlin!

Muito obrigada por ler ❤️🏳️‍⚧️ e me segue nas redes, é tudo [@lissatransborda](https://twitter.com/lissatransborda) 👀