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!