1
resposta

[Dúvida] Conversão de variáveis

No código abaixo apenas para praticar, procurei inserir o código com a maioria das possibilidades possiveis dentro do que foi visto na aula de variaveis. Quando porém, tentei efetuar a conversão de 'int' para 'double' inseri a idade 23.9, mas ele converteu para 23. Entendo que o número mais próximo seria 24, estou errado?

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

Oii Luandre! Tudo bem?

Na linguagem de programação Swift, quando você converte um Double para um Int, o valor é truncado, ou seja, a parte decimal é simplesmente descartada, e não é realizada uma operação de arredondamento. Por isso, quando você converteu 23.9 para Int, o resultado foi 23, pois é o inteiro antes do ponto decimal.

Se você deseja arredondar para o inteiro mais próximo, você deverá usar um método de arredondamento antes de converter para Int. No Swift, você pode usar rounded() para arredondar um Double para o inteiro mais próximo antes da conversão. Ex:

var idadeDouble: Double = 23.9
var idadeInt: Int = Int(idadeDouble.rounded())
print(idadeInt) // Isso deve imprimir 24

Abraços!